我在一个包含foriegn键的表中创建一条记录。 foriegn密钥在查询字符串中传递,我在ViewBag中设置了值。我已将此添加到表单中但它不起作用。 以下是控制器的代码:
public ActionResult Create(int propertyId)
{
ViewBag.storagePropertyId = propertyId;
return View();
}
以下是视图中的代码。
@Html.HiddenFor(model => model.propertyId, new { value =ViewBag.propertyId })
我应该这样做吗?如果是这样,该表格是否存在问题
答案 0 :(得分:0)
为什么不在控制器中设置Model.PropertyID
的值,或者在视图模型中更好。
<强>视图模型强>
public class MyViewModel()
{
public int PropertyID { get; set; }
public MyViewModel() { }
public MyViewModel(int propertyID)
{
this.PropertyID = propertyID;
}
}
行动结果
public ActionResult Create(int propertyId)
{
return View(new MyViewModel(propertyId));
}
查看强>
@model MyViewModel
@Html.HiddenFor(m => m.PropertyID)
然后隐藏字段的值将包含属性ID的值。