繁体   English   中英

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

[英]How to Change ASP.NET Label Text from C#?

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

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

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

提前致谢。

这是我的代码: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 使页面的选定部分“刷新”。 为了在您的案例中的标签“选定”部分之外触发更改,需要创建另一个 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM