【问题标题】:ASP.NET server tags rendered in client HTML, not values?以客户端 HTML 呈现的 ASP.NET 服务器标记,而不是值?
【发布时间】:2013-04-09 03:06:07
【问题描述】:

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

【问题讨论】:

  • 试试这个 &lt;span id="Label1"&gt; &lt;%=DateTime.Now.ToString()%&gt;&lt;/span&gt;; 代替: &lt;span id="Label1"&gt; &lt;%=DateTime.Now.ToString()&gt;&lt;/span&gt;;
  • Label 只是为了提出问题而进行的简化版本。请参阅下面的其他 cmets。

标签: asp.net html controls server-tags


【解决方案1】:

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

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

【讨论】:

  • 好的,这适用于我的简化版本,但只是在某种程度上基于将代码包装在标签文本周围的能力。在现实生活场景中,我需要将一个值动态注入到没有相同包装解决方法的服务器标签的 CssClass 属性中。看来我的问题是我正在尝试将这些动态属性与“”),它可以正常工作。
  • 理想情况下,因为我已经在 aspx 页面上布置了所有控件。只是想添加一个属性。我想要: 现在看起来我需要做的是在一个看起来像 MyTxtBox1.CssClass=strVal1 MyTxtBox2 的代码块中重复我对代码隐藏的所有控件.CssClass=strVal MyTxtBox4.CssClass=strVal MyTxtBox3.CssClass=strOtherVal
【解决方案2】:

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

【讨论】:

  • 我在现实生活中使用的属性是 CssClass。我想设置一个公共属性并在页面加载时从它更新所有控件。因为我已经在 aspx 页面上布置了所有控件。只是想添加一个属性。我想要: 现在看起来我需要做的是重复我所有的(250) 在代码块中控制代码隐藏,看起来像 MyTxtBox1.CssClass=strVal1 MyTxtBox2.CssClass=strOtherVal
猜你喜欢
  • 1970-01-01
  • 2011-12-06
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-06
相关资源
最近更新 更多