0
点赞
收藏
分享

微信扫一扫

关于 MVC 字段 默认值


以下是网友的疑问:

================================================================

Html.EditorFor(model=>Time, new{@Value='2010-01-01 00:00:00'});
怎么就不能显示出来呢?

================================================================

解决方案:

 1.直接在返回的model中处理默认值(虽然能处理,但是人家要显示给用户看啊,这招明显不管用啊)

 2.Controller 中为 model.Time=DateTime.Parse("2010-01-01 00:00:00"); (这个正解)

 3.EditorFor根据就没有可以设置显示内容格式的重载,你那样当然没用,它的第二个参数是设置ViewData值的,而不是设置显示内容的,解决办法是使用自定义template,在模板中设置内容格式,将模板名做为参数传递到第二个参数中,或者使用数据类型模板,即所有DateTime类型使用相当的模板,参考:
​​​http://msdn.microsoft.com/zh-cn/library/ee308450(v=vs.98).aspx​​​ 或:
​​http://blog.sina.com.cn/s/blog_67532f7c01011zsc.html​​

 


关于第二种方法其实最简单实用


如下案例:


cs.phone_C = "10086";//这里可以给电话参数 赋默认值
//
// POST: /Contacts_CSales/Create
contacts_csales.typeContacts = "渠道销售通讯录"; //这个可以处理不需要在界面上给用户看但是需要处理的默认值
if (ModelState.IsValid)
{
db.Contacts_CSales.Add(contacts_csales);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(contacts_csales);
}


 

举报

相关推荐

0 条评论