Html.EditorFor设置默认值
菜鸟问题。 我有一个parameter passing给创build视图。 我需要设置一个默认值的字段名称。 @ Html.EditorFor(model => model.Id)我需要设置这个input字段的名称Id与默认值,通过一个动作链接传递给视图。
那么,这个input字段(@ Html.EditorFor(model => model.Id))如何被设置为一个默认值。
下面的工作? 数字5是一个参数,我传递到文本字段设置默认值。
@Html.EditorFor(c => c.PropertyName, new { text = "5"; })
干净的方法是通过控制器传递创build实体的新实例:
//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" })
这是我发现的:
@Html.TextBoxFor(c => c.Propertyname, new { @Value = "5" })
使用大写的V,而不是小写的v(假定值是通常在setter中使用的关键字) lower vs upper value
@Html.EditorFor(c => c.Propertyname, new { @Value = "5" })
不起作用
你的代码最终看起来像这样
<input Value="5" id="Propertyname" name="Propertyname" type="text" value="" />
价值与价值。 不知道我会太喜欢那个。
为什么不只是检查控制器的行为,如果proprety有价值与否,如果它不只是在你的视图模型中设置它的默认值,并让它绑定,以避免所有这个猴子在视图中工作?
它不适合在View中设置默认值。 视图应该执行显示工作,而不是更多。 这个动作打破了MVC模式的思想。 所以设置默认值的地方 – 创build控制器类的方法。
更好的select是在你的视图模型中这样做
public class MyVM { int _propertyValue = 5;//set Default Value here public int PropertyName{ get { return _propertyValue; } set { _propertyValue = value; } } }
然后在你看来
@Html.EditorFor(c => c.PropertyName)
将按照你想要的方式工作(如果没有值的默认值将在那里)
我刚刚做了这个(沙迪的第一个答案),它的工作原理是:
public ActionResult Create() { Article article = new Article(); article.Active = true; article.DatePublished = DateTime.Now; ViewData.Model = article; return View(); }
我可以把默认值放在我的模型中,像propper MVC addict :(我正在使用entity framework)
public partial class Article { public Article() { Active = true; DatePublished = Datetime.Now; } } public ActionResult Create() { Article article = new Article(); ViewData.Model = article; return View(); }
任何人都可以看到这个缺点吗?
不应该@Html.EditorFor()
使用你放在模型中的属性吗?
[DefaultValue(false)] public bool TestAccount { get; set; }
在模型类的构造函数方法中,设置默认值。 然后在你的第一个动作中创build一个模型的实例,并将其传递给你的视图。
public ActionResult VolunteersAdd() { VolunteerModel model = new VolunteerModel(); //to set the default values return View(model); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult VolunteersAdd(VolunteerModel model) { return View(model); }
- “System.Web.Mvc.MvcWebRazorHostFactory”types的expression式不能用于返回types“System.Web.WebPages.Razor.WebRazorHostFactory”
- 自动完成应用值不标签到文本框
- 如何发布与JSON,jQuery的ASP.NET MVC控制器的复杂对象的数组?
- 把内容放在HttpResponseMessage对象中?
- ASP.NET MVC剃刀:HTML中的条件属性
- ASP.NET MVC 3 – redirect到另一个动作
- 如何将我的Autofac容器插入到ASP中。 NET身份2.1
- asp.net MVC是否有应用程序variables?
- 什么时候应该使用Html Helpers,Razor Helpers或Partial Views?