您的位置:首页 > 其它

关于 MVC 字段 默认值

2013-09-26 23:06 197 查看
以下是网友的疑问:

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

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

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

如下案例:

public ActionResult Create() { Contacts_CSales cs = new Contacts_CSales(); cs.phone_C = "10086";//这里可以给电话参数 赋默认值 return View(cs); }

// // POST: /Contacts_CSales/Create

[HttpPost] public ActionResult Create(Contacts_CSales contacts_csales) { contacts_csales.typeContacts = "渠道销售通讯录"; //这个可以处理不需要在界面上给用户看但是需要处理的默认值

if (ModelState.IsValid) { db.Contacts_CSales.Add(contacts_csales); db.SaveChanges(); return RedirectToAction("Index"); }

return View(contacts_csales); }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐