我不明白“ASP.NET MVC3,Html.TextAreaFor没有编码?”的答案。

时间:2012-03-25 21:23:04

标签: asp.net-mvc asp.net-mvc-3 razor

在“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)视图中工作。

1 个答案:

答案 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>