只有第一个标签未显示在 ASP.NET C# 页面上
Only first Label Not Showing on ASP.NET C# page
我在 2 个更新面板中有多个 asp.net 标签。我正在处理它们,但第一个没有出现。为了简单起见,我在一个按钮上发生了所有事情,而实际上代码发生在不同的地方,但我在 Debug 中逐步执行它并确认这是顺序。我认为它与 2 个更新面板有关,更新面板 3 不会更新更新面板 2,但不确定。
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LabelError" runat="server"
style="float: left" ForeColor="Red"></asp:Label>
.....
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LabelError2" runat="server" Text="Password"
style="float: left" Visible="False"></asp:Label>
<asp:Button ID="ButtonShow" runat="server" Text="Submit"
onclick="ButtonShow_Click" />
</ContentTemplate>
我在代码中执行以下操作。
protected void ButtonShow_Click(object sender, EventArgs e)
{
LabelError.Visible=true;
LabelError2.Visible=true;
LabelError.Style.Remove("display");
LabelError.ForeColor = System.Drawing.Color.Red;
LabelError2.Style.Remove("display");
if (LabelError.Visible)
{
LabelError.Text="This is Label Error";
LabelError.Style.Add("display", "block");
}
else
{
LabelError.Style.Add("display", "none");
}
if (LabelError2.Visible)
{
LabelError2.Text="This is Label Error2";
LabelError2.Style.Add("display", "block");
}
else
{
LabelError2.Style.Add("display", "none");
}
}
LabelError2 弹出屏幕。
LabelError 没有。
使用 IE,按 F12 并查看 DOM LabelError 甚至不存在。
我究竟做错了什么?为什么 LabelError 不显示?
考虑到这个理论,我尝试添加 UpdatePanel2.Update();在 ButtonShow_Click() 的末尾这有效。它出现了。
我在 2 个更新面板中有多个 asp.net 标签。我正在处理它们,但第一个没有出现。为了简单起见,我在一个按钮上发生了所有事情,而实际上代码发生在不同的地方,但我在 Debug 中逐步执行它并确认这是顺序。我认为它与 2 个更新面板有关,更新面板 3 不会更新更新面板 2,但不确定。
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LabelError" runat="server"
style="float: left" ForeColor="Red"></asp:Label>
.....
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LabelError2" runat="server" Text="Password"
style="float: left" Visible="False"></asp:Label>
<asp:Button ID="ButtonShow" runat="server" Text="Submit"
onclick="ButtonShow_Click" />
</ContentTemplate>
我在代码中执行以下操作。
protected void ButtonShow_Click(object sender, EventArgs e)
{
LabelError.Visible=true;
LabelError2.Visible=true;
LabelError.Style.Remove("display");
LabelError.ForeColor = System.Drawing.Color.Red;
LabelError2.Style.Remove("display");
if (LabelError.Visible)
{
LabelError.Text="This is Label Error";
LabelError.Style.Add("display", "block");
}
else
{
LabelError.Style.Add("display", "none");
}
if (LabelError2.Visible)
{
LabelError2.Text="This is Label Error2";
LabelError2.Style.Add("display", "block");
}
else
{
LabelError2.Style.Add("display", "none");
}
}
LabelError2 弹出屏幕。 LabelError 没有。 使用 IE,按 F12 并查看 DOM LabelError 甚至不存在。 我究竟做错了什么?为什么 LabelError 不显示?
考虑到这个理论,我尝试添加 UpdatePanel2.Update();在 ButtonShow_Click() 的末尾这有效。它出现了。