2012-03-05 32 views
3
頁面

上我有ASP代碼:使用C#編寫ASP代碼

<ext:Panel ID="pnlHelp" CtCls="help-panel" AnimCollapse="true""> 
    <Content> 
     <h1>some text</h1> 
     <p> 
      More text[...] 
     </p> 
    </Content> 
</ext:Panel> 

我想動態生成<Content>標籤使用C#。我想這一點,就像普通的HTML標籤:

<ext:Panel ID="pnlHelp" CtCls="help-panel" AnimCollapse="true""> 
    <Content> 
     <% Response.Write("<h1>some text</h1>"); %>        
     <p> 
      More text[...] 
     </p> 
    </Content> 
</ext:Panel> 

但文字結束了附近的某處頁的開頭,我並不想讓它去。我怎樣才能做到這一點?

回答

4

您輸出顯示在頁面的頂部,因爲您的頁面內容放置到頁面之前您的頁面內容正在執行Response.Write()

爲什麼not just

<%="<h1>some text</h1>" %> 

您可以創建一個將返回一個字符串,並從*.as?x文件調用它的方法:

protected string GetMyCoolHtml() 
{ 
    return "<h3>this is my text</h3>"; 
} 

.... 

<%= GetMyCoolHtml() %> 
+0

它適用於靜態短語。但後來我把'<%= GetPhrase(「some_text_key」,「

一些文本

」); %>'和我得到一個「)預期」的錯誤。爲什麼? – hardmax 2012-03-05 11:31:16

+0

檢查你方法的簽名。你的代碼適用於我,當方法被decalred爲'protected string GetPhrase(string key,string h1Text){return key +「
」+ h1Text; }' – 2012-03-05 11:34:23

+3

刪除';'。當使用<%= %>來顯示東西時,不;是期待。 – Abbas 2012-03-05 11:34:25

1

文字控件添加到您的網頁,寫任何你想要的在服務器端。