2011-11-15 151 views

回答

1

找到了答案,我在做一個愚蠢的錯誤

現在我換掉了從這個

public ActionResult Index(Guid empId) 
    { 
     ViewBag.Model = new EditEmployeePopulator(session, empId).GetModel(); 
     return View(); 
    } 

我的指數在此

public ActionResult Index(Guid empId) 
    { 
     return View(new EditEmpoyeePopulator(session, empId).GetModel()); 
    } 

和它的工作!

我之前就是這麼做的。我將模型分配爲ViewBag的一個屬性,並且僅在我看來通過ViewBag訪問它,這是我的錯誤。

當我代替我的代碼就開始與這僅僅

@Html.TextAreaFor(m => m.EmployeeDescription) 

:) :)

感謝所有的答覆工作

3

你將它傳遞給之前,您應該設置模型上的文字視圖。對於TextBoxFor也是如此。您不應該使用HTML屬性來設置值。請注意,textarea沒有文本或值屬性,最初呈現時它的值是開始標籤和結束標籤之間的HTML。

+0

是該模型的價值,因爲我的屏幕是編輯畫面,所以模型已經填充了所有值 因此,m.EmployeeDescription在使用前充滿了值,但仍然不起作用 –

+0

如果您完全忽略HTML屬性,它會怎麼做。 – tvanfosson

+0

你是說如果我完全刪除'@Value'或'@Text'部分? 像這樣 @ Html.TextAreaFor(M => m.EmployeeDescription) 然後也不起作用,文本區域仍然是空 –

0

對不起,由HTML本身的TextArea元素的自然,因爲如果你看到視圖源,你會發現值或文本,但對於HTML這不影響TextArea,所以要添加一個默認值需要把文字textarea標籤本身內部

所以你可以初始化在創建對象與您的默認值,如下所示:

Employee e = new Employee { Id = 1, EmployeeDescription = "Default Value" };