如何在页面加载时使用代码后端将HTML代码段插入到特定位置

5

我有一个aspx页面,在page_load时需要检查并在页面上显示错误消息。 错误消息如下:

<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_load()函数的代码背后实现。

如何仅使用page_load()函数中的后台代码而不在aspx文件中内联编写?

3个回答

9
创建一个带有ID和runat="server"的div:
<div ID="divErrorMessage" runat="server" class="divErrorMessage"></div>

然后在代码后台的Page_Load事件中,您可以设置div的inner html:

divErrorMessage.InnerHtml = "Your message";

将runat="server"标志设置后,该控件就可以在代码后端中使用。


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添加到其文本属性中,然后将此文字控件添加到当前aspx页面的控件集合中。
您可以通过CSS样式更改此div的位置,也可以将其添加到任何现有面板中,而不是直接添加到“Page.Controls”对象中,例如您可以将其添加到“Panel1.Controls”。
但是,在代码后台直接这样做并不是最佳实践,您最好使用资源文件。

0

有很多方法可以做到这一点,这是其中一种。将您的 div 包装在一个 asp 面板控件中。

<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事件中: pnlErrorMessage.Visible = true;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接