我有Razor表格
using (Html.BeginForm("TermList", "Course", FormMethod.Get))
{
<div style="text-align:right;display:inline-block; width:48%; margin-right:25px;">
@Html.DropDownList( "id", (SelectList) ViewBag.schoolId)
</div>
<input type="submit" value="Choose school" />
}
我希望此表单发布到URI:
http://localhost:56939/Course/TermList/764
而不是路线:
http://localhost:56939/Course/TermList?id=764
该路线未被使用。我想取消参数
?id=764
答案 0 :(得分:1)
?id=764
附加到网址的原因是因为您使用的是FormMethod.Get
。您将要与表单一起传递的任何值都将添加到查询字符串中。您需要使用FormMethod.Post
。
@using(Html.BeginForm("TermList", "Course", FormMethod.Post))
{
... Your form stuff here ...
}
这将导致http://localhost:56939/Course/TermList/
如果您要发布到http://localhost:56939/Course/TermList/764
,则需要在id
声明中传递Html.BeginForm
参数:
@using(Html.BeginForm("TermList", "Course", new { @id = 764 }, FormMethod.Post))
{
... Your form stuff here ...
}
显然,代替硬编码764
只需使用存储该值的任何变量。