Razor Pages AJAX url id参数

时间:2018-08-04 23:44:15

标签: asp.net-ajax razor-pages

我正在尝试找到将id参数传递给AJAX网址的可靠方法。

我有一个post方法,应该使用id参数:

 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的更好方法。我花了很多时间试图解决这个问题,但是上面提到的最好的解决方案似乎并不能很好地解决问题。

将非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

URL generation for Pages签出Url.Page助手

有关负载的UrlHelper扩展会自我说明需要哪些参数

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

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

帮助者无法自动知道要为新参数输入哪些值。

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