在收到来自服务器的消息后,我正在尝试更改 cs 文件中的标签文本。我尝试使用将标签放在更新面板中,但无法使其工作。如何更新标签的显示?
问问题
8280 次
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 回答