有没有办法让@Ajax.ActionLink()
不更新UpdateTargetId
?
例如,有这样的事情:
@Ajax.ActionLink("All", "Get_Books_By_Id", new { ID = 0 },
new AjaxOptions() {
HttpMethod = "GET",
UpdateTargetId = "div_records",
InsertionMode = InsertionMode.Replace,
LoadingElementId = "div_load"
}
)
Get_Books_By_Id
正在为PartialView
中的表格数据返回PartialView
,但我希望在数据(列表)计数为0时不更新UpdateTargetId
。
有没有办法通过控制发送什么会告诉ajax不要更新?或者还有其他方法吗?
答案 0 :(得分:1)
您可以通过两种方式实现:
删除更新目标ID,而不是使用OnSuccess处理程序
function onSuccess(result){
var fragment = $(result);
if(fragment.find("tr").length >= 0)
$("div_records").html(fragment)
}
更改您的控制器以从您的操作返回不同的状态代码
public ActionResult Get_books_by_id()
{
var myBooks = _repostiory.GetBooksById();
if(!myBooks.Any())
return new HttpStatusCodeResult(HttpStatusCode.NotFound);
return PartialView("mybooks", myBooks);
}
我以前使用过这两种方法,显然你需要根据用例定制选择和操作。