ASP.NET MVC获取ID参数控制器
using (Html.BeginForm("Test", "AcceptStatement", "Account", FormMethod.Post, new { id = Model.StatementID }))
在控制器使用方法:在控制
public ActionResult AcceptStatement(int id)
但id
参数最终成为一个null
值。我怎样才能得到id
参数值到我的控制器与Html.BeginForm
?
您使用的BeginForm
错误的过载。您正在通过如下:
- actionName: “测试”
- controllerName: “AcceptStatement”
- routeValues: “帐户”
- formMethod: FormMethod.Post
-
htmlAttributes:
{ id = Model.StatementID }
这显然是错误的,因为它没有任何意义。您可能想要:
Html.BeginForm("AcceptStatement", "Account", new { id = Model.StatementID }, FormMethod.Post, null)
使用this过载。
谢谢,它已经解决了! – trilobit 2014-10-30 16:45:08
使用信息中this:
基本上,你的视图:
@using (Html.BeginForm()){
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}
</p>
随着一个控制器:
public ActionResult Index(string searchString)
{
var movies = from m in db.Movies
select m;
if (!String.IsNullOrEmpty(searchString))
{
movies = movies.Where(s => s.Title.Contains(searchString));
}
return View(movies);
}
的替代方法通过模型的值提供给控制器的方法将使用:
@Html.ActionLink("Details", "Details", new { id=item.BayID })
有了您的控制器的方法是这样的:
public ActionResult Details(int? id)
{
...
这是如何解决问题的? – 2014-10-30 16:31:01
显示OP如何将输入/模型值传递给控制器。很好,我希望。 – jbutler483 2014-10-30 16:33:11
同样,这与问题(这是不正确的Html.BeginForm的用法)有什么关系? – 2014-10-30 16:35:58
我没有以您使用它的方式看到该版本的BeginForm。确保您正确调用BeginForm。 – 2014-10-30 16:28:54