WebResource实现以由定义控件被内嵌JS文件澳门新葡亰官网

WebResource实现以由定义控件被内嵌JS文件澳门新葡亰官网

在类库中的资源  其他序列遭到假设运 需要坐才行

参考文献:WebResource实现在起定义控件被内嵌JS文件
 

 

  1. WebResource简介

   
ASP.NET(1.0/1.1)给我们提供了一个开支WebControl的编程模型,于是大家摆脱了asp里面的include情势的复用形式。不过1.0/1.1供的Web控件开发模型对于拍卖没有image、css等外部资源的零件还算相比空心入网,script就算多时啊是标资源,但每当开控件的时候我们习惯把script使用Page.Register…Script()来坐模块,因为紧凑的东西更有益大家复用,用一个dll就好解决问题。

    ASP.NET 2.0资的Web
Resources管理型,很好之解决了image、css、script等外部资源的管制问题。WebResourceAttribute是一个metedata
attribute,它可以为我们走访到坐至assembly中之资源。

  1. WebResource的使用

    在运内嵌的server
side资源时,首先要把资源文件Embedded内嵌到我们的assembly程序集中,然后以Application中的AssemblyInfo.cs文件中上加上这个文件的援。具体过程:

① 文件内嵌:将所要内嵌的文本【生成操作】属性更改为——》放置的资源

 澳门新葡亰官网 1 

② 文件内嵌完成后,下边就是需要对曾经内嵌的公文进行引用。

援方法暴发一定量种植:

方法一致:找到AssemblyInfo.cs文件,添加代码:

[assembly: WebResource(“eWebapp.Upload.upLoad.js”, “text/javascript”)]

同时,还需添加命名空间using System.Web.UI;

 澳门新葡亰官网 2 

 

术二:在外一个class文件中,均只是长引用的宣示;

[assembly: WebResource(“eWebapp.Upload.upLoad.js”, “text/javascript”)]

(放在最高级namespace外就执行)

 

参数表明:先是个是资源的名字,第二单凡是资源的mime-type名。
资源的名字命名一般包括三单部分:<缺省之命名空间.><扩张命命名空间.><文件名>
差省之命名空间就是种的命名空间,文件称就是资源文件之名称。
中间扩张命名空间就是项目遭到的目录结构.倘诺你的资源文件就以项目之根目录下,扩充命名空间就不需了,直接这样勾画就可以了.
<缺省之命名空间.> <文件名>.
不过尽管你在类型被生目录结果的话语,就要接纳扩张命名空间了。例如,倘若以上资源文件是目录Js下:

[assembly: System.Web.UI.WebResource(“eWebapp.Upload / js / upLoad.js
“, ” text/javascript “)]

 

③ 以上准备干活做到后,下边就是可以取内嵌的资源文件了。

     protected override void
AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)

     {

         writer.AddAttribute(“onchange”, “newUpload(this);”);

         base.AddAttributesToRender(writer);

     }

注意:此段主如果为控件追加onchange事件,也可以因而在开立界面时一向长,如:

f.Attributes.Add(“onchange”, “javascript:newUpload(this);”);

       public class Upload : System.Web.UI.WebControls.WebControl

       {

澳门新葡亰官网,              protected override void OnPreRender(EventArgs e)

              {

                 Page.ClientScript.RegisterClientScriptInclude(“upLoad”,
                      
Page.ClientScript.GetWebResourceUrl(this.GetType(),
“eWebapp.Upload.upLoad.js”));

                      base.OnPreRender(e);

           }

   }

④ 生成的页面时如此的:

<script src="/WebResource.axd?d=SfSlYQLv-RU-lSlTT0gProNFY7jkKs9lj16Lbul83Y0oicWZcUHLXICfPyGF1YsG0&amp;t=633813613197656250" type="text/javascript"></script>

个中的<script src=”/WebResource.axd?d=…… 就是对准台本资源的调用。

 备注:

 1. 内嵌资源的文书称类似eWebapp.Upload.upLoad.js

       Syntax : eWebapp.Upload/ upLoad.js –>eWebapp.Upload.upLoad.js

     
资源名必须同AssemblyInfo.cs文件中宣示的如出一辙。如若资源名错误或文件未设有,在地点被变化的步伐就高达不交预期结果。

 2. 资源文件要内放置程序集中。

 3. 重返的资源文件Url分析:

          WebResource.axd?d=加密后的标识符 & T = 时间戳值。
          其中:

           ” d ” 代表要 Web 资源。  (encrypted identifier)
           ” t ” 是 timestamp 对程序集,
这有助于在确定要已针对资源的改动请求。

 

小提示:

1、  看到网上有人说这样无论用,原因是VS默认的命名空间为了鬼。

题材讲述:VS会自行将default namespace加到资源文件前。

解决:万一将默认名称空间改吗空就可了。

唯独,在研之历程中,我连从未遭逢这些题材。或许要实际折腾不化,也不通晓哪错了,不妨用反编译工具Reflector来查转变通的资源文件是否对。

admin

网站地图xml地图