0

也许我已经忘记了如何使用这些,但我正在疯狂地尝试将服务器端值注入 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  
4

2 回答 2

0

我相信这可能不适用于已编译的 Web 应用程序,因为它不像 C#“网站”那样在运行时被解释。但是,我能够让它围绕值包装标签:

<asp:Label runat="server"><%= DateTime.Now.ToString() %></asp:Label>
于 2013-04-16T16:48:04.730 回答
0

设置 Label1.Text = 值,而不是尝试在服务器控件内使用服务器端属性

于 2013-04-16T18:22:43.430 回答