如何从 C# 更改 ASP.NET 标签文本?
How to Change ASP.NET Label Text from C#?
这道题看似简单,我就是想不通。
我有一个 DropDownList,它的每个选项的值为 1 到 4,我还将 OnSelectedIndexChanged 设置为 DropDownList 以触发 Label 中的文本更改。
现在的问题是当 DropDownList 选项改变时,标签文本没有改变。我不知道我的代码的哪一部分导致了这个问题,尤其是当浏览器控制台 returns 没有错误时。
提前致谢。
这是我的代码:
下拉列表
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="form-inline">
<asp:DropDownList ID="ddl_basic_layer_select" runat="server" CssClass="form-control" Style="width: auto;" OnSelectedIndexChanged="ddl_basic_layer_select_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="1">ArcGIS</asp:ListItem>
<asp:ListItem Value="2">Web Tile</asp:ListItem>
<asp:ListItem Value="3">WMS</asp:ListItem>
<asp:ListItem Value="4">WMTS</asp:ListItem>
</asp:DropDownList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
标签
<div class="col-lg-9">
<asp:Label ID="url_tips" class="color_red" runat="server" Text="initial text" />
</div>
C#
protected void ddl_basic_layer_select_SelectedIndexChanged(object sender, EventArgs e)
{
string type = ddl_basic_layer_select.SelectedItem.Value;
if (type == "1")
{
url_tips.Text = "1111111111111";
}
if (type == "2")
{
url_tips.Text = "2222222222222";
}
}
您需要将标签放入另一个 UpdatePanel 并将 UpdateMode 设置为条件。 UpdatePanel 使页面的选定部分变为 "refresh"。为了触发 "selected" 部件之外的更改,在您的案例中是标签,需要创建另一个 UpdatePanel。
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode=Conditional>
<ContentTemplate>
<asp:Label ID="url_tips" class="color_red" runat="server" Text="initial text" />
</ContentTemplate>
</asp:UpdatePanel>
这道题看似简单,我就是想不通。
我有一个 DropDownList,它的每个选项的值为 1 到 4,我还将 OnSelectedIndexChanged 设置为 DropDownList 以触发 Label 中的文本更改。
现在的问题是当 DropDownList 选项改变时,标签文本没有改变。我不知道我的代码的哪一部分导致了这个问题,尤其是当浏览器控制台 returns 没有错误时。
提前致谢。
这是我的代码: 下拉列表
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="form-inline">
<asp:DropDownList ID="ddl_basic_layer_select" runat="server" CssClass="form-control" Style="width: auto;" OnSelectedIndexChanged="ddl_basic_layer_select_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="1">ArcGIS</asp:ListItem>
<asp:ListItem Value="2">Web Tile</asp:ListItem>
<asp:ListItem Value="3">WMS</asp:ListItem>
<asp:ListItem Value="4">WMTS</asp:ListItem>
</asp:DropDownList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
标签
<div class="col-lg-9">
<asp:Label ID="url_tips" class="color_red" runat="server" Text="initial text" />
</div>
C#
protected void ddl_basic_layer_select_SelectedIndexChanged(object sender, EventArgs e)
{
string type = ddl_basic_layer_select.SelectedItem.Value;
if (type == "1")
{
url_tips.Text = "1111111111111";
}
if (type == "2")
{
url_tips.Text = "2222222222222";
}
}
您需要将标签放入另一个 UpdatePanel 并将 UpdateMode 设置为条件。 UpdatePanel 使页面的选定部分变为 "refresh"。为了触发 "selected" 部件之外的更改,在您的案例中是标签,需要创建另一个 UpdatePanel。
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode=Conditional>
<ContentTemplate>
<asp:Label ID="url_tips" class="color_red" runat="server" Text="initial text" />
</ContentTemplate>
</asp:UpdatePanel>