0

在收到来自服务器的消息后,我正在尝试更改 cs 文件中的标签文本。我尝试使用将标签放在更新面板中,但无法使其工作。如何更新标签的显示?

4

2 回答 2

0

通常这类似于

myLabel.Text = "Value";

如果它在 UpdatePanel 中,则规则会有所不同。我认为您需要获取控件,然后更新其值。类似于以下内容:

Label lbl = (Label) updatePanel1.FindControl("myLabel");
lbl.Text = "Value";
于 2013-11-12T19:10:54.680 回答
0

如果您试图避免回发,则可以使用 ASP.NET AJAX 页面方法通过 AJAX 查询服务器,然后将返回的值推送到标签控件中,如下所示:

标记:

<script type="text/javascript">
    $(document).ready(function () {
        $('.TheButton').click(function () {
            $.ajax({
                type: "POST",
                url: "Default.aspx/GetDate",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    $('.TheLabel').text(data.d);
                }
            });

            return false;
        });
    });
</script>
<asp:Label ID="Label1" runat="server" Text="Nothing" CssClass="TheLabel" />
<br/>
<asp:Button runat="server" ID="Button1" CssClass="TheButton" Text="Update Label"/>

代码隐藏:

[WebMethod]
public static string GetDate()
{
    return DateTime.Now.ToString();
}

注意:ASP.NET AJAX 页面方法static是不属于 ASP.NET 页面生命周期的方法。他们无法访问页面上的任何控件,但对于从服务器获取数据(在本例中为服务器时间)非常有用。为了简单起见,我在服务器控件上使用了 CSS 类名来简化 jQuery 选择器。

于 2013-11-12T19:24:19.237 回答