【发布时间】:2013-04-23 20:51:19
【问题描述】:
我继承了一些 ASP 2.0 webforms 代码来查询 webmethod 并返回一个字符串,它的简化版本是
代码背后
<System.Web.Services.WebMethod()> _
Public Function StockLevel() as String
return "120"
End Sub
.aspx 页面
function GetStockLevel() {
$.ajax({
type: 'POST',
url: 'Stock.aspx/StockLevel',
// data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'text',
success: function (data) {
alert(data);
}
});
}
页面上有一个 asp 标签控件,例如 asp:Label id="stockLabel" runat="server"
目前,当我尝试修改 StockLevel 函数以将标签文本设置为 120 时,它会将字符串 120 返回到 jquery 调用并显示警报,例如
stockLabel.Text = "120"
我得到了智能感知,但它似乎没有更新页面上的值,我猜这是由于 AJAX 的性质(在这种情况下,我应该只使用 ajax 调用的返回值来设置标签。),此时可能未加载控件或存在范围问题。它是否正确?我想知道为什么会发生这种情况,这是我应该期待的正确行为还是我做错了什么并且标签应该更新为正确的值?
任何指针或建议都会很棒。
【问题讨论】:
-
这是 C#,但 .Net 2 很容易转换。对于 1 个变量来说,这也是矫枉过正,但如果您有更多或需要定期在 JS 中引用 .Net 控件,我建议您这样做...johncmolyneux.blogspot.co.uk/2012/11/…
标签: jquery asp.net ajax vb.net