2012-04-09 106 views
5

我有一個aspx頁面,我需要檢查並在頁面上顯示錯誤消息page_load。該錯誤消息如下:如何在頁面加載中使用代碼隱藏將html代碼段插入到特定位置

<div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
     You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 

這個代碼塊應該chechking一些條件後添加到頁面...這部分和其他一些功能在代碼behide功能實現page_load()

我如何請僅使用page_load()函數中的代碼後面的內容,而不將其內聯寫入aspx文件中?

回答

9

創建一個帶有ID的股利和中用runat = 「服務器」:

<div ID="divErrorMessage" runat="server" class="divErrorMessage"></div> 

然後從代碼的Page_Load事件的背後,你可以設置div的內部HTML:

divErrorMessage.InnerHtml = "Your message"; 

設置標誌,runat =「server」使控制在後面的代碼中可用

0

有很多方法可以做到這一點,這是一個。將你的div包裝在一個asp面板控件中。

pnlErrorMessage.Visible = true;

4

你可以添加代碼,就像下面在礦井的Page_Load

protected void Page_Load(object sender, EventArgs e) 
{ 

    Literal lit=new Literal(); 
    lit.Text = @"<div class='errorMessage'>The user ID or password you entered does not match our records. Please try again. <br /> 
          You may also securely recover your <a href='#'>User ID</a> or reset your <a href='#'>Password</a> online. 
         </div>"; 
    Page.Controls.AddAt(0,lit); 

} 

在這個例子中,我們創建一個新的文字控件,然後添加你的HTML中:

<asp:Panel runat="server" ID="pnlErrorMessage"> 
    <div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
    You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div> 
</asp:Panel> 
在你的Page_Load

它是Text屬性,然後將此文字控件添加到當前aspx頁面的控件集合中。

您可以通過CSS樣式更改此div的位置,也可以將其添加到任何現有Panel中,而不是直接將其添加到「Page.Controls」對象中,例如可以將其添加到「Panel1」中。控制」。

但是,最好不要直接在後面的代碼中這樣做,您可以更好地使用資源文件。

相關問題