也许我已经忘记了如何使用这些,但我会疯狂地尝试将服务器端值注入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
答案 0 :(得分:0)
我认为这可能不适用于已编译的Web应用程序,因为它不像C#“Web站点”那样在运行时解释。但是,我能够让它围绕值包装标签:
<asp:Label runat="server"><%= DateTime.Now.ToString() %></asp:Label>
答案 1 :(得分:0)
设置Label1.Text =值,而不是尝试在服务器控件中使用服务器端attrs