[英]ASP.NET server tags rendered in client HTML, not values?
也许我已经忘记了如何使用它们,但是我试图将服务器端的值注入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
我相信这可能无法在已编译的Web应用程序上运行,因为它在运行时不会像C#“网站”那样被解释。 但是,我能够使它围绕值包装标签:
<asp:Label runat="server"><%= DateTime.Now.ToString() %></asp:Label>
设置Label1.Text =值,而不是尝试在服务器控件内部使用服务器端attrs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.