飘灵儿 发表于 2015-1-16 14:20:29

来一篇关于NET的WebResource-asp.net自界说控件援用内部资本办法

觉得J2EE好像有很多工具,比如servlet,jboss,tomcat,ejb什么的,可是微软的.NET怎么什么也没有啊?在asp.net中开辟自界说控件时,假如我们要用到图片,内部css,js等文件,那末最好的体例就是将这些文件作为自界说控件嵌进的资本,跟着控件一同打包成dll文件公布。那末我们要怎样将这些文件设置为嵌进的资本,又怎样在自界说控件援用这些文件呢?上面我们以一个css与js文件为例来做一演示。

一,起首固然是创立这两个文件了。我们在自界说控件的项目内创立两个文件,分离为JScript.js与Stylessheet.css文件。要使它们成为嵌进的资本,最主要的是在文件目次上点击右键,选择属性,在天生操纵的选项选择"嵌进的资本",以下如图所示:

分离设置好JScript.js与Stylessheet.css文件的该属性,如许,文件的处置就完成了。

二,对嵌进资本的援用。
在AssemblyInfo.cs文件中对资本的援用。
除设置文件的属性外,我们还必要设置对资本的援用,详细办法是:翻开项目标AssemblyInfo.cs文件,在文件的最初面增加以下两行代码:



注重它的两个参数,第一个参数它是一个字符串,整体意义就是文件的路径,格局为"援用类的定名空间"+"资本地点文件夹"+"文件名",如"ServerControl.SelectCtlReSource.Stylesheet.css",ServerControl为定名空间,SelectCtlReSource为css地点的文件夹,Stylesheet.css为文件名。第二个参数是指明文件的范例,包含"img/gif","text/css","text/javascript"等经常使用文件格局。

注重:增加援用时必要为AssemblyInfo.cs增加定名空间usingSystem.Web.UI的援用。

那末要怎样在自界说类中利用这两个内部文件呢?
三,利用内部css资本
我们能够使用Page.ClientScript.GetWebResourceUrl办法来猎取到内部资本的地点,代码以下:
stringcssUrl=Page.ClientScript.GetWebResourceUrl(this.GetType(),
"ServerContrAssemblyInfo.cs.SelectCtlReSource.Stylesheet.css");
HtmlLinklink=newHtmlLink();
link.Href=cssUrl;
link.Attributes.Add("rel","stylesheet");
link.Attributes.Add("type","text/css");
Page.Header.Controls.Add(link);

注释一下代码的意义:
1,注重Page.ClientScript.GetWebResourceUrl的三个参数,第一个就不讲了,为资本的范例。第二个对照主要,它的格局与下面援用格局一样。
2,猎取到资本的url后,前面的代码就是将该css注册到页面的head中,这个就不解说了。

四,利用内部javascript资本
援用javascript文件的办法与援用css的文件稍有些纷歧样。利用css文件为猎取到内部css的路径后再经由过程HtmlLink类将css增加页面的head部分中,而javascript则能够间接经由过程RegisterClientScriptResource来注册,示例代码以下:
Page.ClientScript.RegisterClientScriptResource(this.GetType(),"ServerControl.SelectCtlReSource.JScript.js");


好了,如许就完成了在自界说控件中对内部资本的援用。平常我们看到页面中天生的WebResource.axd前面增加一堆的字符串,总觉的webresource会是一个很庞大的器材,实在,弄懂了它的划定规矩后,这些器材就很简单了解并记着了,人人做做实习吧。

我们在上例中注册的两个文件,终极会在html文件中天生相似以下代码:
<linkrel="stylesheet"type="text/css"href="/WebResource.axd?d=21KpM8lphlA-zR5ejP1pnghDV1cXwkQpw-QlXFdu3jwwMymuuN49ab8qvx6fH66D6oQMw7WWdKIXCE8T4DOfe0ype4VWtox9HdA0pLREJOcBpgcflwup5Cm6zjgCUJwiGQlkWGk6_Bv-90hWtF9dAIDIeL5aB-0a7Rac1Uw5OnIOe2C70&t=634746559960937500"/>

<scriptsrc="/WebResource.axd?d=8E4J6LzCJ4MPILLeEtw_QNoqvym1oFCPjfVEzI5E8b5ofI6AJjeHDdpnxnSLV-FCvsooBv9RwPT_SA1NvURXaD42LnY1&t=634751762881093750"type="text/javascript"></script>
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。

乐观 发表于 2015-1-18 13:15:09

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

精灵巫婆 发表于 2015-1-25 21:31:38

使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

柔情似水 发表于 2015-2-4 07:09:54

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。

冷月葬花魂 发表于 2015-2-9 18:42:32

主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。

仓酷云 发表于 2015-2-27 17:10:10

Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。

飘灵儿 发表于 2015-3-9 10:48:11

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

第二个灵魂 发表于 2015-3-16 22:18:23

主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。

小女巫 发表于 2015-3-23 07:22:27

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
页: [1]
查看完整版本: 来一篇关于NET的WebResource-asp.net自界说控件援用内部资本办法