在客户端HTML中呈现的ASP.NET服务器标签,而不是值?

时间:2013-04-16 15:56:29

标签: asp.net html controls server-tags

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

2 个答案:

答案 0 :(得分:0)

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

<asp:Label runat="server"><%= DateTime.Now.ToString() %></asp:Label>

答案 1 :(得分:0)

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