它不完整,仍然很hacky,但也许是唯一的方法
在 jquery.unobtrusive-ajax.js 刚刚改变
$("a[data-ajax=true]").live("click", function (evt) {
evt.preventDefault();
asyncRequest(this, {
url: this.href,
type: "GET",
data: []
});
});
到
$("a[data-ajax=true]").live("click", function (evt) {
evt.preventDefault();
asyncRequest(this, {
url: this.href,
type: "GET",
data: [{ name: "targerId", value: this.getAttribute("data-ajax-update") }]
});
});
或在 asyncRequest 方法中添加另一个推送:
...
options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" });
options.data.push({ name: "targerId", value: element.getAttribute("data-ajax-update") });
...
我不想更改不显眼的代码并将 Ajax.ActionLink 更改为自定义 ActionLink 使用不同的标志来触发 ajax 请求(例如 a[data-customajax=true]")来分隔它们。如果有人对这些答案有疑问我很乐意帮助你!