POST到控制器,如何从URL获取id

goo*_*orj 3 asp.net-mvc asp.net-mvc-3

如果我将表单发布到包含ID的目标URL,例如

/mycontroller/createItemAndAddTo/5
Run Code Online (Sandbox Code Playgroud)

如何到达ActionResult子例程中的Id(=5)[HttpPost](将模型作为参数)

我想Id从POST数据/表单中删除它,并从URL中获取它,因为它已存在于那里

在这种情况下,Id是一个外键,我通常将其作为隐藏字段包含在内,但它似乎没有必要,因为它已经包含在内

Dar*_*rov 6

如果您有一个标准路由设置,其中包含idurl的最后一个标记,则默认模型绑定器将自动填充其值:

[HttpPost]
public ActionResult Foo(int id)
{
    // id = 5 here
}
Run Code Online (Sandbox Code Playgroud)

或者如果您的视图模型具有Id属性:

[HttpPost]
public ActionResult Foo(MyViewModel model)
{
    // model.Id = 5 here
}
Run Code Online (Sandbox Code Playgroud)