注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

后台动态设置前台标签内容和属性  

2011-05-30 18:30:14|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 和以前的asp不同,在asp.net中为了彻底的代码分离,我们一般不采用%=%嵌入标签中来设置一些属性和内容。
一般来说有2种情况:
(一)设置标签的内容,比如title这里/title
(二)设置标签的属性,比如bodybgcolor=这里
(三)动态加载一些script
先看一下(一)和(二):
前台
titleid="mytitle"runat="server"/title
bodyid="mybody"runat="server"
后台
protectedHtmlGenericControlmytitle;
protectedHtmlGenericControlmybody;
this.mytitle.InnerText="test";
this.mybody.Attributes["bgcolor"]="#cccccc";
这里说明3点:
(1)前台标签runat=server是必须的
(2)HtmlGenericControl的命名空间是System.Web.UI.HtmlControls
(3).InnerText和.InnerHtml是有区别的
比如:
前台
spanrunat="server"id="myspan"/span
后台
this.myspan.InnerText="btest/b"
得到的结果是
spanid="myspan"lt;bgt;testlt;/bgt;/span
把后台改为
this.myspan.InnerHtml="btest/b"
得到的结果是
spanid="myspan"btest/b/span
再来看看动态加载一些script
一般来说有三种情况
(1)在前台放置asp:LiteralRunat="server"/asp:Literal指定位置输出
(2)后台通过RegisterStartupScript和RegisterClientScriptBlock输出
(3)Response.Write输出
举例如下
(1)
前台
asp:LiteralID="myLiteral"Runat="server"/asp:Literal
后台
this.myLiteral.Text+="scriptalert('test');/script";
查看源代码可以看到原来的
asp:LiteralID="myLiteral"Runat="server"/asp:Literal
位置变成了
scriptalert('test');/script
(2)
为了更加清楚看到两个的区别,前台如下
formid="Form1"method="post"runat="server"
inputtype="hidden"value="test"id="myhiden"
/form
后台如下
Page.RegisterStartupScript("","scriptalert('RegisterStartupScript:'+document.all.myhiden.value)/script");
Page.RegisterClientScriptBlock("","scriptalert('RegisterClientScriptBlock:'+document.all.myhiden.value)/script");
结果如下:只出现对话框显示RegisterStartupScript:test
查看源代码如下:
formname="Form1"method="post"action="WebForm4.aspx"id="Form1"
inputtype="hidden"name="__VIEWSTATE"value="dDwtNjU0MzcyMTk1Ozs+NmbLf6dWkF/Q/FLKKsdPPfhFXr0="/
scriptalert('RegisterClientScriptBlock:'+document.all.myhiden.value)/script
inputtype="hidden"value="test"id="myhiden"
scriptalert('RegisterStartupScript:'+document.all.myhiden.value)/script
/form
两者区别不用多说了吧
(3)
我们再加一句Response.Write("test")
查看源代码发现test字样出现在最前面
test
!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"
用它来输出转向代码比较合适
scriptlocation.href='page.aspx'/script
  评论这张
 
阅读(206)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017