如何在asp.net中更改label.text?

时间:2013-11-12 18:59:46

标签: asp.net

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

2 个答案:

答案 0 :(得分:0)

通常这是

的内容
myLabel.Text = "Value";

如果它在UpdatePanel中,则规则略有不同。我认为您需要获得控件,然后更新其值。有点像:

Label lbl = (Label) updatePanel1.FindControl("myLabel");
lbl.Text = "Value";

答案 1 :(得分: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选择器。