在“ASP.NET MVC3, Html.TextAreaFor without encoding?”
中 达林迪米特洛夫得到了答案,但我无法使其发挥作用。可能是因为我对严格键入的View顶部的@model语句的含义感到困惑。
我的陈述是:
@model TestTinyMCE.Models.TestBlog
当我输入他的答案时:
You will need to roll your own:
<textarea cols="100" id="PostBodyText" name="PostBodyText" rows="10">
@MvcHtmlString.Create(Model.PostBodyText)
</textarea>
失败,因为Model为null。
如何将Model与我的View正在使用的模型相关联?
我在Create()视图中,顺便说一句,如果重要的话。这也必须在Edit(int id)视图中工作。
答案 0 :(得分:0)
您能告诉我们您的控制器代码吗?
应该看起来像:
using TestTinyMCE.Models;
public class Mycontroller : Controller
{
public ActionResult Create()
{
return View(new TestBlog());
}
public ActionResult Edit(int id)
{
var model = new TestBlog();
// Fill the model value with the entity from your datastore
return View(model);
}
}
您必须在控制器操作中设置View的模型。这样,您在Razor视图中就不会收到空值。
在视图中,我会这样写:
@model TestTinyMCE.Models.TestBlog
<textarea cols="100" id="PostBodyText" name="PostBodyText" rows="10">
@Html.Raw(Model.PostBodyText)
</textarea>