我有一种情况,我希望“添加”视图接受来自控制器的 int,但向 HttpPost 控制器方法返回不同的类型。令人困惑,我知道。“添加”视图用于创建类型为 Widget 的对象,但我需要传入 WidgetCategory 的 ID。所以在我的 WidgetController 中,我会有一个类似的方法:
public ActionResult Add(int id) // 'id' is the WidgetCategoryID
{
return View(id);
}
但是,在视图中,由于它打算返回要添加的 Widget,因此将像这样开始:
@using MyProject.Models
@model Widget
@{
ViewBag.Title = "My Title";
Layout = "~/Views/Shared/_MyLayout.cshtml";
}
@using (Html.BeginForm())
{
// Insert markup here ...
}
我的问题是,如果输入 WidgetCategoryID 以返回 Widget,我该如何将其传递给控制器?我希望将其添加为表单中的隐藏字段,如下所示:
@Html.Hidden(id)
任何想法将不胜感激。
谢谢!