我是新手,刚刚开始学习asp.net mvc,因为我正在浏览部分视图教程,并创建了一个工作正常的小测试应用程序。
我有一个页面,其中有客户订单,每个项目都有一个用于添加或删除项目的编辑按钮,按下它我可以增加项目或从购物车中删除项目。对于这样的行动我正在使用
HTML.actionlink("+", "AddToCart", "Orders", new { orderid=tempcart.orderid },
new AjaxOptions()
{
OnBegin = "showplaces",
OnSuccess = "hideloader"
}, null);
因此,当我单击按钮时,它会转到AddToCart()操作并更新数据库中的表,但它不会更新局部视图,并且loader.gif会永久保留在页面上而不会调用hideloader()功能
你能告诉我这是什么问题吗?
答案 0 :(得分:3)
1-当您更新局部视图时,第一个用户Ajax.ActionLink
2-有一件事也会放置购物车的div id,以便在行动结束时可以更新。
3-我曾经遇到过这样的问题,所以我做了以下事情:
在Ht中添加OnFailure属性
Ajax.ActionLink("+", "AddToCart", "Orders", new { orderid=tempcart.orderid },
new AjaxOptions()
{
UpdateTargetId = "cart_divId",
OnBegin = "showplaces",
OnFailure = "ShowDOMExcep",
OnSuccess = "hideloader"
}, null);
并使用此方法获取DOM异常:
function ShowDOMExcep(context) {
var html = context.get_data();
var placeholder = context.get_updateTarget();
$(placeholder).html(html);
return false;
}
希望这会有所帮助...