设置<;p>;嵌入在asp:面板中,来自c#asp.net后面的代码

本文关键字:来自 c#asp 代码 net gt lt asp 设置 | 更新日期: 2023-09-27 18:24:41

我正试图根据URL查询字符串从代码隐藏文件中添加文本。我有一个运行良好的asp:Label,但我需要在asp:Panel的主体中添加文本,这就是我的问题所在。这是我的代码:

ASPX文件:

<asp:Panel ID="PanelAboutUs" class="panel panel-primary" runat="server">
    <asp:Panel ID="PanelAboutUsHeader" class="panel-heading panel-success" runat="server">
        <asp:Label ID="LabelAboutUsHeader" runat="server"></asp:Label>
    </asp:Panel>
    <asp:Panel ID="PanelAboutUsBody" class="panel-body" runat="server">    
        <asp:TextBox ID="TextAboutUsBody" runat="server"></asp:TextBox>    
    </asp:Panel>
    <div class="divide-30"></div>       
    <div class="panel-footer">
        <div class="form-group">
            <asp:LinkButton runat="server" Text="Ok" CausesValidation="True" ID="CancelRequest" CssClass="btn btn-lg btn-block btn-success"  OnClick="Ok_OnClick"></asp:LinkButton>
        </div>
    </div>
</asp:Panel>

下面是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        if (!string.IsNullOrEmpty(Request.QueryString["result"]))
            result = int.Parse(Request.QueryString["result"]);
        else Response.Redirect("Default.aspx");
    }
    catch
    {
        Response.Redirect("Default.aspx");
    }
    if (result == 0)
    {
        LabelAboutUsHeader.Text = "Cancelled!";
        TextAboutUsBody.Text = "Before you can schedule services you will need to enter a preferred payment method. You can add this payment method the next time you successfully login to your account.";
    }
    else
    {
        LabelAboutUsHeader.Text = "Success!";
        TextAboutUsBody.Text = "Your payment information has been successfully added. To access the system you must first validate your account via the email sent during registration.";
    }
}

问题出在我的asp:TextBox上。最初,我使用<p>而不是asp:TextBox对文本进行了硬编码,一切都很好。但我无法用动态文本更新我的<p>,所以我改为asp:TextBoxasp:TextBox的格式不正确,实际上只显示了我消息的一部分。

所以,考虑到所有这些解释,我的问题是如何使用<p>使我的原始代码工作,但从代码隐藏文件进行更新。这是我的原始代码。

<asp:Panel ID="PanelAboutUsHeader" class="panel-heading panel-success" runat="server">
    <asp:Label ID="LabelAboutUsHeader" runat="server"></asp:Label>
</asp:Panel>
<asp:Panel ID="PanelAboutUsBody" class="panel-body" runat="server">    
    <p>[Dynamic text from code behind should go here.]</p>    
</asp:Panel>

设置<;p>;嵌入在asp:面板中,来自c#asp.net后面的代码

asp:Panel控件没有text属性。所以这行:TextAboutUsBody.Text = "Your payment ..."无效。

这里有一种方法:

在html中,创建一个asp:Literal控件。

<asp:Panel ID="PanelAboutUsBody" class="panel-body" runat="server">    
    <p><asp:Literal runat="server" Id="litAboutUsBody"></asp:Literal></p>    
</asp:Panel>

并在代码后面设置文字:

litAboutUsBody.Text = "Your payment inform ...";