asp.net 2.0 自定义控件中的使用嵌入资源的一些总结
2005-11-25 11:19 无常 阅读(2221) 评论(2) 编辑 收藏 举报一、
- 在solution explorer把资源文件的Build Action属性设为[Embedded Resource]
- 然后将下面这行
[assembly: WebResource("WebCtrl.cutecat.jpg", "image/jpg")]
添加到在assemblyinfo.cs中。其实这个语句放任何cs文件里,保证放在最高级namespace外就行
WebCtrl.cutecat.jpg是资源名字,比如项目的Default namespace是“wuChang.WebControls”,
而图片文件MessagePanel_info.gif放在/images目录中,那么完整资源名就是wuChang.WebControls.images.MessagePanel_info.gif - 然后在程序中调用如下:
Image1.ImageUrl = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "wuChang.WebControls.images.MessagePanel_info.gif");
二、使用资源文件
1、添加一资源文件MessagePanel.resx,放在/images/文件夹中,MessagePanel.resxBuild Action属性默认就是[Embedded Resource],无需改动
2、添加一字符串资源,比如名为MessagePanelTemplate,内容自定
3、调用方法:



其中ResourceManager的第一个参数为资源的base naem,格式为:namespace + 资源文件名。比如MessagePanel.resx,则取MessagePanel。如果是MessagePanel.zh-cn.resx,也是取MessagePanel。
rm.GetString()的参数则是资源名字
三、在<head></head>中加入stylesheet link
在/images/中添加MessagePanel.css,Build Action属性设为[Embedded Resource]
在最外层namespace,添加[assembly: WebResource("wuChang.WebControls.images.MessagePanel.css", "text/css")]
调用方法:
strCssLink = string.Format("\n<link href=\"{0}\" rel=\"stylesheet\" type=\"text/css\" />\n", this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "wuChang.WebControls.images.MessagePanel.css"));
string cssKey = "MessagePanelName";
if (this.Page.Header.FindControl(cssKey) != null)
return;
Literal ltlCss = new Literal();
ltlCss = new Literal();
ltlCss.ID = cssKey;
ltlCss.Text = strCssLink;
this.Parent.Page.Header.Controls.Add(ltlCss);
花了二天时间,边学边做,做了一个类似.Text中的MessagesPanel控件
源码在这里下载
MessagesPanel
参考:
http://www.cnblogs.com/birdshome/archive/2004/12/19/79309.html
另外想请教一个问题:
比如将某个.Text文本文件设为Embedded Resource的话,那在如何读出此文件的内容。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构