ASP.NET编程:静态把持Page页的Head信息
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。静态|把持在之前的ASP程序里我们常常用利用Response.Write静态输入网页Header信息,但在ASP.NET里这个所谓代码与UI分别的引导头脑不再但愿我们如许做了(固然假如您乐意还能够,这究竟只是倡议罢了),之前见过他人用<titleranut="server"id="titleControl">DefaultTitle</title>设置题目的,但自己以为不是很好,由于这会发生过剩的id="titleControl"团体感到利用Literal控件把持对照好,由于它不会发生一个过剩的字符:),也有人利用js的静态设置题目,但这你让搜刮引擎怎样办?静态把持Page页的Head信息实在很复杂
先看演示:http://www.lvjiyong.com/demo/aspnet/setheader/
演示做的很复杂,人人能够下了源码好悦目,注解内里都有了
次要利用了Literal与PlaceHolder
办法安排在BasePage里,下次让WebForm承继BasePage类就能够挪用了
利用Literal设置Title信息
利用PlaceHolder载进款式表与剧本
Literal同意我们间接设置文本信息,利用时我们先让程序查找是不是有指定的Literal控件,假如有则设置Text
/**////<summary>
///设置Head信息
///</summary>
///<paramname="_name">控件</param>
///<paramname="_control">文本</param>
privatevoidsetHeader(string_control,string_text)
{
Literalobj=this.FindControl(_control)asLiteral;
if(obj!=null)
{
obj.Text=_text;
}
}
好比我们在Head区设置了<asp:Literalid="PageTitle"runat="server"/>,我们能够如许设置题目
这里先筹办一个办法
/**////<summary>
///设置网页题目
///</summary>
///<paramname="_title">网页题目</param>
protectedvoidSetTitle(string_title)
{
setHeader("PageTitle","<title>"+_title+"</title>");
在WebFrom中我们就能够如许设置题目了
this.SetTitle("吕的部落格");
Description,Keywords等的办法一样,不外要设置Meta,这个就不讲了,能够看源码
上面我再说一下js与css的载进,此次我们用到的是PlaceHolder控件,为何用这个不相沿Literal,本人想一想
PlaceHolder一样平常只占用地位,便利我们静态加载控件,如许载进js与css就便利多了
起首了也是查找指定的PlaceHolder控件
/**////<summary>
///查找LoadHeader的PlaceHolder容器
///</summary>
///<returns></returns>
privateControlfindHeader()
{
returnthis.FindControl("LoadHeader");
}再是静态到场控件
/**////<summary>
///装载控件到PlaceHolder控件
///</summary>
///<paramname="_obj"></param>
protectedvoidLoadPlaceHolder(HtmlGenericControl_obj)
{
objHeader=findHeader()asControl;
//载进剧本文件
if(objHeader!=null)
{
objHeader.Controls.Add(_obj);
}
}要载进CSS或JS我们先用HtmlGenericControl创立子控件然后加到PlaceHolder控件中
/**////<summary>
///载进指定的款式表文件
///</summary>
///<paramname="_cssPath">款式表文件地点</param>
protectedvoidLoadCss(string_cssPath)
{
HtmlGenericControlobjCss=newHtmlGenericControl("link");
objCss.Attributes["rel"]="stylesheet";
objCss.Attributes["type"]="text/css";
objCss.Attributes["href"]=_cssPath;
objCss.Attributes["media"]="screen";
this.LoadPlaceHolder(objCss);
}
那我们在WebForm中要载进款式表只需利用
this.LoadCss("款式表地点");载进js一样,就不说了
在源码中我写的功效比这里说的强一点点,人人能够本人下了看看.
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 逐步缩小出错代码段的范围,最终确定错误代码的位置。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
页:
[1]