我正在尝试根据URL查询字符串从我的代码隐藏文件中添加文本。我有一个asp:标签工作正常,但我需要添加文本到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:TextBox
。 <{1}}的格式不正常,只有部分信息实际显示。
因此,考虑到所有这些解释,我的问题是如何使用asp:TextBox
使我的原始代码工作,但从文件后面的代码更新。这是我的原始代码。
<p>
答案 0 :(得分:0)
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 ...";