2011-11-15 88 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" };