1

我正在使用 jQuery 将 Id 发布到我的路线,例如:
http://localhost:1234/Load/Delete
和 POST Parameter Id = 1

我现在只使用 Global.asax.cs 中的默认路由:

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" }
);

当我执行 POST 时,在我的 ActionFilterfilterContext.RouteData.Values["Id"]中设置为默认值""。理想情况下,我希望它在 URL 出现时自动使用 POST 参数值""。我知道它发布正确,因为我可以看到"1"in的值filterContext.HttpContext.Request.Params["Id"]

有没有办法让 RouteData 使用 POST 参数作为后备值?

4

1 回答 1

1

您始终可以添加另一个不使用此参数的路由。我在家里的 ASP.Net MVC 书中有一个示例。我回家后会更新这个:)

但为了清楚起见,我建议将 id 重命名为 ObjectId,无论是在路由中还是在您的 jquery 调用者中。

找不到参考,但从外观上看,最好的选择是更改实体中 id 的名称。大多数 ASP.Net MVC 文章建议使用 ConferenceId、PersonId 等。

于 2010-03-31T05:38:32.197 回答