菜鸟问题。我有一个传递给create view的参数。我需要设置一个具有默认值的字段名称。@Html.EditorFor(model => model.Id)我需要将此输入字段的名称Id设置为一个默认值,该值将通过操作链接传递给视图。
那么,如何将此输入字段--@Html.EditorFor(model => model.Id) --设置为默认值。
下面的操作是否有效??,其中数字5是我传递到文本字段中以设置默认值的参数。
@Html.EditorFor(c => c.PropertyName, new { text = "5"; })
发布于 2011-07-18 18:35:16
最简单的方法是通过控制器传递创建的实体的一个新实例:
//GET
public ActionResult CreateNewMyEntity(string default_value)
{
MyEntity newMyEntity = new MyEntity();
newMyEntity._propertyValue = default_value;
return View(newMyEntity);
}
如果要通过ActionLink传递缺省值
@Html.ActionLink("Create New", "CreateNewMyEntity", new { default_value = "5" })
发布于 2011-05-20 13:39:02
这是我发现的:
@Html.TextBoxFor(c => c.Propertyname, new { @Value = "5" })
使用大写的V,而不是小写的v(假设value是setter中使用的关键字) Lower vs upper value
@Html.EditorFor(c => c.Propertyname, new { @Value = "5" })
不工作
不过,您的代码最终将如下所示
<input Value="5" id="Propertyname" name="Propertyname" type="text" value="" />
价值与价值。我不确定我会不会太喜欢这个。
为什么不在控制器操作中检查属性是否有值,如果它没有在视图模型中将其设置为您的默认值,并让它绑定,以避免视图中的所有此类操作?
发布于 2011-05-20 14:48:20
在视图中设置默认值是不正确的。视图应该执行显示工作,而不是更多。这一行为打破了MVC模式的思想。所以设置控制器类的默认创建方法的位置是正确的。
https://stackoverflow.com/questions/6062528
复制相似问题