簡體   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