需要帮助 - 从 WebMethod (ASP.NET) C# 调用时,MasterPage 始终返回 null
Posted
技术标签:
【中文标题】需要帮助 - 从 WebMethod (ASP.NET) C# 调用时,MasterPage 始终返回 null【英文标题】:Need help - MasterPage always return null when call from WebMethod (ASP.NET) C# 【发布时间】:2020-10-24 20:15:42 【问题描述】:我正在构建一个购物车,一切正常。现在,我正在尝试使用 jQuery 插入和显示数据库中的数据。我使用jQuery成功插入数据,但无法更新MasterPage内的面板,因为master总是返回null。
有人想解决我的问题吗?
<script>
$(document).ready(function ()
$("[id*=lb1KgButton]").click(function ()
$.ajax(
data: JSON.stringify(
customerID: _customerID
),
dataType: "json",
type: "POST",
url: '<%= ResolveUrl("~/AddToCart.aspx/AddToCartFrom1To4Kg") %>',
contentType: "application/json; charset=utf-8",
success: function (result)
showSuccess('', 'Added to cart successfully!');
);
);
);
</script>
这是 AddToCart.aspx 中的代码
[WebMethod]
public static string AddToCartFrom1To4Kg(string customerID)
string result = "";
AddToCart atc = new AddToCart();
atc.UpdateShoppingCart();
public void UpdateShoppingCart()
var master = Master as Home;
if (master != null)
UpdatePanel upMasterPage = (UpdatePanel)master.FindControl("UpdatePanel1");
master.CheckAddToCart();
upMasterPage.Update();
【问题讨论】:
【参考方案1】:您不能从静态方法更新页面。您必须返回到 javascript 方法并从那里更新页面。根据需要将数据/信息返回给 ajax 调用。
【讨论】:
以上是关于需要帮助 - 从 WebMethod (ASP.NET) C# 调用时,MasterPage 始终返回 null的主要内容,如果未能解决你的问题,请参考以下文章
从另一个 WebMethod 的成功函数调用 ASP.net WebMethod
如何从 vb.net 中的 aspx.vb 页面调用 webmethod