2011-07-29 77 views
2

一個文本框,我有一個簡單的用戶將完成提交一個「通訊社」。當在創建視圖的形式加載我想筆者輸入自動與登錄用戶名在視圖中的文本框中填入。任何人都可以評論我做錯了什麼?如何自動填充在MVC

我的模型:

public class NewsWire 
{ 

     public int ID { get; set; } 
     public int VendorID { get; set; } 
     public DateTime Date { get; set; }   
     public string Subject { get; set; } 
     public string NewsItem { get; set; } 
     //public string Author { get; set; } 

     public string Author 
     { 
      get 
      { 
       return System.Web.HttpContext.Current.User.Identity.Name; 
      } 
     } 
    } 

在形式作者部分我有這樣的:

<div class="editor-label"> 
     @Html.LabelFor(model => model.Author) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Author) 
     @Html.ValidationMessageFor(model => model.Author) 
    </div> 

我嘗試了好幾種變化,但仍然沒有得到它的權利。任何幫助,將不勝感激。

回答

2

型號:

public class NewsWire 
{ 
    public int ID { get; set; } 
    public int VendorID { get; set; } 
    public DateTime Date { get; set; }   
    public string Subject { get; set; } 
    public string NewsItem { get; set; } 
    public string Author { get; set; } 
} 

,並呈現此觀點從填充Author財產控制器動作內的當前登錄的用戶:

[Authorize] 
public ActionResult SomeAction() 
{ 
    var model = new NewsWire 
    { 
     Author = User.Identity.Name 
    }; 
    return View(model); 
} 
+0

啊......我想它通過走錯了路!謝謝您的幫助! – MissioDei

0

好了,事情我已經注意到的是,你'創建一個編輯器,但作者只有一個{get; }在模型中。這可能是一個問題!

你應該把它作爲一個屬性,但是當你初始化對象填充作者。