我只是看看ASP.Net MVC3和一個自動生成的創建視圖,它使用「Html.EditorFor(model => model.User)」爲用戶提供一個文本框輸入他們的用戶名理想情況下,我會使用@ User.Identity.Name自動填充此項。如何自動填充Html.EditorFor在ASP.Net MVC3中的值?
什麼是實現這一目標的正確方法? Html.EditorFor允許我在視圖中自動填充它,還是應該在傳入時在控制器上設置它?
我發現,如果我改變這個控制器創建方法:
public ActionResult Create()
{
return View();
}
要這樣:
public ActionResult Create()
{
MyObject myobject = new MyObject();
myobject.User = User.Identity.Name;
return View(myobject);
}
這似乎是工作。這是做到這一點的正確方法嗎?
在此先感謝您確認我正在做這件事。
沒有涉及靜態類。 – 2011-05-04 13:21:54
是 - '用戶'是。 – 2011-05-04 13:22:15
不,它不是。它是控制器上的一個屬性,它是一個只有一個getter的'IPrincipal'。這個getter調用可以被模擬的HttpContext.User屬性。它不是靜態的。 – 2011-05-04 13:28:23