我在视图中使用
using (Html.BeginForm("Test", "AcceptStatement", "Account", FormMethod.Post, new { id = Model.StatementID }))
控制器中的:
public ActionResult AcceptStatement(int id)
但控制器中的id
参数最终为null
值。如何使用id
将Html.BeginForm
参数值输入控制器?
答案 0 :(得分:0)
使用this:
中的信息基本上,您的观点:
@using (Html.BeginForm()){
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}
</p>
使用Controller:
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)
{
...
答案 1 :(得分:0)
您正在使用BeginForm
的错误重载。您目前正在通过以下内容:
{ id = Model.StatementID }
这显然是错误的,因为它毫无意义。你可能想要:
Html.BeginForm("AcceptStatement", "Account", new { id = Model.StatementID }, FormMethod.Post, null)
使用this重载。