我有一个模型类,就像
public class Mod
{
public string StaticProp1 {get; set;}
public string StaticProp2 {get; set;}
public string EditableProp1 {get; set;}
}
我想要一个可以编辑EditableProp1
但在哪里StaticProp1
显示StaticProp2
但不可编辑的视图。
我创建了一个强类型视图:
@model Mod
@using (Html.BeginForm())
{
<p>@Model.StaticProp1</p>
<p>@Model.StaticProp2</p>
@Html.TextBoxFor(m => m.EditableProp1)
<input type="submit" value="Save" />
}
在我的控制器中,当我处理该操作时,我发现 EditableProp1 很好。
[HttpPost]
public ActionResult Edit(Mod model, FormCollection collection)
{
string editableProp = model.EditableProp1; //This works fine
string staticProp1 = model.StaticProp1; //Missing
return View(model);
}
如果我出于某种原因发回,这会导致问题,因为 staticProp1 现在将为 null 并且视图将无法显示它。
我知道我可以添加
@Html.HiddenFor(m => m.StaticProp1)
@Html.HiddenFor(m => m.StaticProp2)
在我看来,它会正常工作,但我想知道是否有另一种更好的方法。
我的价值观已经在表格 ( <p>@Model.StaticProp1</p>
) 上。有没有办法将模型绑定到这样的不可编辑标签?是否有一个 HTML 助手可以做这样的事情?
顺便说一句,如果不是很明显,我只是从 MVC 开始,所以如果我完全错过了这一点,请告诉我!