分享
 
 
 

(原创)后台动态设置前台标签内容和属性

王朝asp·作者佚名  2006-01-29
窄屏简体版  字體: |||超大  

和以前的asp不同,在asp.net中为了彻底的代码分离,我们一般不采用<%=%>嵌入标签中来设置一些属性和内容。

一般来说有2种情况:

(一)设置标签的内容,比如<title>这里</title>

(二)设置标签的属性,比如<body bgcolor=这里>

(三)动态加载一些script

先看一下(一)和(二):

前台

<title id="mytitle" runat="server"></title>

<body id="mybody" runat="server">

后台

protected HtmlGenericControl mytitle;

protected HtmlGenericControl mybody;

this.mytitle.InnerText="test";

this.mybody.Attributes["bgcolor"]="#cccccc";

这里说明3点:

(1)前台标签runat=server是必须的

(2)HtmlGenericControl的命名空间是System.Web.UI.HtmlControls

(3).InnerText和.InnerHtml是有区别的

比如:

前台

<span runat="server" id="myspan"></span>

后台

this.myspan.InnerText="<b>test</b>"

得到的结果是

<span id="myspan">&lt;b&gt;test&lt;/b&gt;</span>

把后台改为

this.myspan.InnerHtml="<b>test</b>"

得到的结果是

<span id="myspan"><b>test</b></span>

再来看看动态加载一些script

一般来说有三种情况

(1)在前台放置<asp:Literal Runat="server"></asp:Literal>指定位置输出

(2)后台通过RegisterStartupScript和RegisterClientScriptBlock输出

(3)Response.Write输出

举例如下

(1)

前台

<asp:Literal ID="myLiteral" Runat="server"></asp:Literal>

后台

this.myLiteral.Text+="<script>alert('test');</script>";

查看源代码可以看到原来的

<asp:Literal ID="myLiteral" Runat="server"></asp:Literal>

位置变成了

<script>alert('test');</script>

(2)

为了更加清楚看到两个的区别,前台如下

<form id="Form1" method="post" runat="server">

<input type="hidden" value="test" id="myhiden">

</form>

后台如下

Page.RegisterStartupScript("","<script>alert('RegisterStartupScript:'+document.all.myhiden.value)</script>");

Page.RegisterClientScriptBlock("","<script>alert('RegisterClientScriptBlock:'+document.all.myhiden.value)</script>");

结果如下:只出现对话框显示RegisterStartupScript:test

查看源代码如下:

<form name="Form1" method="post" action="WebForm4.aspx" id="Form1">

<input type="hidden" name="__VIEWSTATE" value="dDwtNjU0MzcyMTk1Ozs+NmbLf6dWkF/Q/FLKKsdPPfhFXr0=" />

<script>alert('RegisterClientScriptBlock:'+document.all.myhiden.value)</script>

<input type="hidden" value="test" id="myhiden">

<script>alert('RegisterStartupScript:'+document.all.myhiden.value)</script>

</form>

两者区别不用多说了吧

(3)

我们再加一句Response.Write("test")

查看源代码发现test字样出现在最前面

test

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

用它来输出转向代码比较合适

<script>location.href='page.aspx'</script>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有