【发布时间】:2018-08-04 23:44:14
【问题描述】:
我正在尝试找到将 id 参数传递给 AJAX url 的可靠方法。
我有一个需要 id 参数的 post 方法:
public ActionResult OnPostSend(int id)
{
//Some stuff which requires id parameter from page
}
我也有 AJAX 代码:
$.ajax({
type: "POST",
url: "/Exercises/Details?handler=Send&id="+@Model.Exercise.ID,
//other AJAX
});
请注意url参数:
url: "/Exercises/Details?handler=Send&id="+@Model.Exercise.ID
这是我发现如何将 id 参数传递给 OnPostSend 方法的唯一方法。它运作良好。然而,这种方法似乎不可靠,因为我可能会更改我的路由以采用一些额外的参数,这会使这段代码出错。
也许有人知道如何将 id 参数传递给 AJAX url 的更好方法。我花了很多时间试图弄清楚,但我发现上面提到的最好的方法似乎不是解决问题的好方法。
将非常感谢您的帮助!
【问题讨论】:
-
查看
Url.Page的助手URL generation for Pages -
感谢您的回复!如果您提供一些示例如何使用此方法生成具有特定 ID 和处理程序的 URL,我将非常高兴。我开始 google 并尝试应用此方法,但找不到合适的重载来满足这些需求。
-
过载自我解释需要哪些参数
@Url.Page(pageName: "Details", pageHandler: "Send", values: new { id = Model.Exercise.ID }。再加上添加更多参数是一个突破性的变化。助手无法自动知道要为新参数输入什么值。如果您更新处理程序上的参数,那么您需要在页面中进行相同的更新。 -
非常感谢您的回答!现在我清楚了。
-
我的工作就像您尝试的那样!
url: "/Books/Index?handler=DeleteBook&bookId=" + bookId。我通过函数参数将 bookId 传递到这个 ajax url。它的工作完全像这样。 [最新更新Core 2.2]