【发布时间】:2019-10-25 08:41:48
【问题描述】:
我在 ASP.NET MVC 5 中使用属性路由时遇到问题。这是我在控制器中使用的操作:
[HttpGet,Route("Home/ChangeID/{MovieInput}")]
public ActionResult ChangeID(int MovieInput)
{
return View();
}
这是我用来将参数发送到此操作的表单:
<form method="get" action="@Url.Action("ChangeID", "Home")">
<label for="movieInput">Change an ID: </label>
<input type="text" id="MovieInput" name="MovieInput" placeholder="Enter Your ID" />
<input type="submit" />
</form>
该路由与
之类的 URL 完美配合/Home/ChangeID/65
但是它不支持表单提交参数在哪里输入
/Home/ChangeID?MovieInput=65`.
如何更改表单提交以满足后者,或者有没有办法更改路由以满足以这种方式键入的参数? `
【问题讨论】:
-
如果您将路由更改为
Route("Home/ChangeID"),它将适用于表单操作。或者使路由参数可选Route("Home/ChangeID/{MovieInput?}"(注意?)它应该具有相同的效果。第二个选项比第一个选项的优点是它允许/Home/ChangeID/65和/Home/ChangeID?MovieInput=65
标签: c# asp.net asp.net-mvc asp.net-mvc-routing