我无法为@HTML.TextAreaFor
这是我尝试过的所有内容,但没有用,它总是显示空白区域
@Html.TextAreaFor(m => m.EmployeeDescription, new { @Text = ViewBag.Model.EmployeeDescription })
@Html.TextAreaFor(m => m.EmployeeDescription, new { @text = ViewBag.Model.EmployeeDescription })
@Html.TextAreaFor(m => m.EmployeeDescription, new { @Value = ViewBag.Model.EmployeeDescription })
@Html.TextAreaFor(m => m.EmployeeDescription, new { @value = ViewBag.Model.EmployeeDescription })
@Html.TextBoxFor
@Value
与TextArea
完全相同但不适用于{{1}} :(
任何人都可以帮忙......
答案 0 :(得分:3)
在将模型传递给视图之前,您应该在模型上设置文本。对于TextBoxFor也是如此。您不必使用HTML属性设置值。请注意,textarea没有text或value属性,它在初始渲染时的值是开始和结束标记之间的HTML。
答案 1 :(得分:1)
找到答案,我犯了一个愚蠢的错误
现在我从这个
替换了我的Index方法 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)
:):)
感谢所有回复
答案 2 :(得分:0)
很抱歉这本身就是HTML本身的TextArea元素,因为如果您看到视图源,您将找到值或文本,但对于HTML,这对TextArea没有影响,因此要添加您需要的默认值将文本放入TextArea标记本身
因此您可以使用默认值初始化创建中的对象,如下所示:
Employee e = new Employee { Id = 1, EmployeeDescription = "Default Value" };