首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Html.EditorFor设置默认值

Html.EditorFor设置默认值
EN

Stack Overflow用户
提问于 2011-05-20 01:30:00
回答 12查看 166.2K关注 0票数 81

菜鸟问题。我有一个传递给create view的参数。我需要设置一个具有默认值的字段名称。@Html.EditorFor(model => model.Id)我需要将此输入字段的名称Id设置为一个默认值,该值将通过操作链接传递给视图。

那么,如何将此输入字段--@Html.EditorFor(model => model.Id) --设置为默认值。

下面的操作是否有效??,其中数字5是我传递到文本字段中以设置默认值的参数。

代码语言:javascript
复制
@Html.EditorFor(c => c.PropertyName, new { text = "5"; })
EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-07-18 18:35:16

最简单的方法是通过控制器传递创建的实体的一个新实例:

代码语言:javascript
复制
//GET
public ActionResult CreateNewMyEntity(string default_value)
{
    MyEntity newMyEntity = new MyEntity();
    newMyEntity._propertyValue = default_value;

    return View(newMyEntity);
}

如果要通过ActionLink传递缺省值

代码语言:javascript
复制
@Html.ActionLink("Create New", "CreateNewMyEntity", new { default_value = "5" })
票数 67
EN

Stack Overflow用户

发布于 2011-05-20 13:39:02

这是我发现的:

代码语言:javascript
复制
@Html.TextBoxFor(c => c.Propertyname, new { @Value = "5" })

使用大写的V,而不是小写的v(假设value是setter中使用的关键字) Lower vs upper value

代码语言:javascript
复制
@Html.EditorFor(c => c.Propertyname, new { @Value = "5" })

不工作

不过,您的代码最终将如下所示

代码语言:javascript
复制
<input Value="5" id="Propertyname" name="Propertyname" type="text" value="" />

价值与价值。我不确定我会不会太喜欢这个。

为什么不在控制器操作中检查属性是否有值,如果它没有在视图模型中将其设置为您的默认值,并让它绑定,以避免视图中的所有此类操作?

票数 104
EN

Stack Overflow用户

发布于 2011-05-20 14:48:20

在视图中设置默认值是不正确的。视图应该执行显示工作,而不是更多。这一行为打破了MVC模式的思想。所以设置控制器类的默认创建方法的位置是正确的。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6062528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档