首页 > 解决方案 > Razor Pages AJAX url id 参数

问题描述

我正在尝试找到将 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 的更好方法。我花了很多时间试图弄清楚,但我发现上面提到的最好的方法似乎不是解决问题的好方法。

将非常感谢您的帮助!

标签: asp.net-ajaxrazor-pages

解决方案


查看用于页面 URL 生成的Url.Page帮助程序

UrlHelper 扩展过载自我解释需要哪些参数

url:"@Url.Page(pageName: "Details", pageHandler: "Send", values: new { id = Model.Exercise.ID }" 

但是添加更多参数是一个重大变化。

助手无法自动知道要为新参数设置什么值。

如果您更新处理程序上的参数,那么您需要在页面中进行相同的更新。


推荐阅读