asp.net-mvc-3 – 如何在带有剃刀的asp.net mvc3中使用Kendo UI Editor?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 如何在带有剃刀的asp.net mvc3中使用Kendo UI Editor?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Kendo UI的编辑器,所以我有很大的问题.

我不知道编辑器返回的显示项目.

编辑转换如下:

<img src="someurl" />

至:

lt;p&gt;&lt;img src=&quot;someurl&quot;/&gt;&lt;/p&gt;

并在数据库中保留转换后的字符串,并尝试使用以下内容显示

@Html.Raw(item.description)

其中description是由kendo返回的字符串.

所以我不知道如何在我的视图中正确显示

任何帮助,将不胜感激.

解决方法

KendeUI编辑器有一个名为encoded的选项,用于配置编辑器是否应提交编码的HTML标记.

encoded的默认值为true

如果您不想存储未编码的文本,请在创建编辑器时使用此片段:

$("#Editor").kendoEditor({
     encoded: false
 });

但是因为您没有将编码文本发送到服务器,所以Asp.net请求验证器启动并且它将中止您的请求.

如果您使用强类型视图,则可以使用模型属性上的AllowHtmlAttribute:

视图:

@model MyModel

@using(Html.BeginForm("SomeAction","SomeController"))
{
     @Html.TextAreaFor(m => m.Editor)
     <input type="submit" value="Save" />
}

<script type="text/javascript">
   $(function(){
      $("#Editor").kendoEditor({
        encoded: false
      });
   });
</script>

模型:

public class MyModel
{
    [AllowHtml]
    public string Editor { get; set; }
}

控制器动作

public ActionResult SomeAction(MyModel myModel)
{
    //Save to db,etc.
}

您还需要在web.config中设置以下内容,否则此属性在.NET 4.0中不起作用:

<httpRuntime requestValidationMode="2.0"/>

猜你在找的asp.Net相关文章