以下是網友的疑問:
================================================================
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(); return View(cs); }
// // POST: /Contacts_CSales/Create
[HttpPost] public ActionResult Create(Contacts_CSales contacts_csales) {
if (ModelState.IsValid) { db.Contacts_CSales.Add(contacts_csales); db.SaveChanges(); return RedirectToAction("Index"); }
return View(contacts_csales); }