【发布时间】:2013-04-09 03:06:07
【问题描述】:
也许我已经忘记了如何使用这些,但我正在疯狂地尝试将服务器端值注入 HTML 输出。我这样做是有原因的,而不是服务器端的,所以请不要建议将其作为解决方案。
服务器端的这段代码:
<asp:Label ID="Label1" runat="server" Text='<%= DateTime.Now.ToString() %>' />;
在发送到浏览器的客户端 HTML 中呈现如下:
<span id="Label1"> <%= DateTime.Now.ToString()></span>;
它显示为大的空白空间,并且没有任何输出到界面。
如果我将 ASP 源代码更改为使用“#”字符定义为数据绑定语法,则呈现到浏览器的输出变为:
<span id="Label1"></span>
编辑:
设置标签文本只是为了提出问题而简化的对象。在现实生活中,我正在设置 CssClass 属性,这不允许我使用一些人建议的“包装”解决方法。我想设置一个公共属性,并在页面加载时动态更新所有控件。
理想情况下,因为我已经在 aspx 页面上布置了所有控件。只是想添加一个属性。我想要:
<asp:textbox ID='MyTxtBox1' CssClass='<% strVal1 %>' />
<asp:textbox ID='MyTxtBox2' CssClass='<% strVal1 %>' />
<asp:textbox ID='MyTxtBox3' CssClass='<% strOtherVal %>' />
<asp:textbox ID='MyTxtBox4' CssClass='<% strVal1 %>' />
现在看起来我需要做的是在代码块中重复我对代码隐藏的所有 (250+) 控件,如下所示:
MyTxtBox1.CssClass=strVal1
MyTxtBox2.CssClass=strVal1
MyTxtBox4.CssClass=strVal1
MyTxtBox3.CssClass=strOtherVal
【问题讨论】:
-
试试这个
<span id="Label1"> <%=DateTime.Now.ToString()%></span>;代替:<span id="Label1"> <%=DateTime.Now.ToString()></span>; -
Label 只是为了提出问题而进行的简化版本。请参阅下面的其他 cmets。
标签: asp.net html controls server-tags