我有这样的事情:
public ActionResult Create(int clubid)
{
var club = db.Clubs.Single(c=>c.Id == clubid);
ViewBag.Club = club;
Competition comp = db.Competitions.Create();
return View(comp)
}
Run Code Online (Sandbox Code Playgroud)
在我的.cshtml中:
@Model Models.Competition
...
@Using(Html.BeginForm())
{
...
<input type="submit" value="Save" />
}
Run Code Online (Sandbox Code Playgroud)
这适用于以下Post Action:
[HttpPost]
public ActionResult Create(Competition comp)
{
if (ModelState.IsValid){...}
return RedirectToAction(...);
}
Run Code Online (Sandbox Code Playgroud)
但是,我想从@ViewBag.Club对象传递一个额外的参数:
[HttpPoSt]
public ActionResult Create(int clubid, Competition comp){...}
Run Code Online (Sandbox Code Playgroud)
我该如何编写BeginForm?
Joh*_*han 81
这里有两个选择.
编辑
@Html.Hidden("clubid", ViewBag.Club.id)
Run Code Online (Sandbox Code Playgroud)
要么
@using(Html.BeginForm("action", "controller",
new { clubid = @Viewbag.Club.id }, FormMethod.Post, null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92391 次 |
| 最近记录: |