关于 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

关于第二种方法其实最简单实用
如下案例:

        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);         }