2012-04-09 100 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”中。控制”。

但是,最好不要直接在后面的代码中这样做,您可以更好地使用资源文件。

相关问题