繁体   English   中英

用客户端HTML(而不是值)呈现的ASP.NET服务器标签?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM