如何从C#更改 ASP.NET 标签文本?



这似乎是一个简单的问题,但我就是想不通。

我有一个 DropDownList为每个选项的值 1 到 4,我还将 OnSelectedIndexChanged 设置为 DropDownList,以便触发标签中的文本更改。

现在的问题是,当"下拉列表"选项更改时,"标签"文本不会更改。我不知道我的代码的哪一部分导致了这个问题,尤其是当浏览器控制台没有返回错误时。

提前谢谢。

这是我的代码: 下拉列表

<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。

<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>

最新更新