繁体   English   中英

如何在mvc5中使用allowhtml属性进行操作

[英]how to use allowhtml attribute for an action in mvc5

我正在开发一个mvc 5项目,我想使用ckEditor输入数据,所以在这个编辑器中我保存了数据
在我可以插入数据之后但是在显示它时有错误请参见Imaage

您可以将AllowHtml属性应用于在视图模型类中保存标记的属性。

public class CreatePost
{
  public string PostTitle {set;get;}
  [AllowHtml]
  public string PostContent { set;get;}
}

并在您的HttpPost操作方法中使用此视图模型,一切都会正常工作。

[HttpPost]
public ActionResult Create(CreatePost viewModel)
{
  // Check viewModel.PostContent property
  // to do  : Return something
}

现在只需确保使用此属性构建要与CKEditor一起使用的文本区域

@model CreatePost
@using (Html.BeginForm())
{    
    @Html.TextBoxFor(s => s.PostTitle)
    @Html.TextAreaFor(s=>s.PostContent)
    <input type="submit" />
}
@section Scripts
{
    <script src="//cdn.ckeditor.com/4.5.9/standard/ckeditor.js"></script>
    <script>
       CKEDITOR.replace('Message');
    </script>
}

[ValidateInput(false)]添加[ValidateInput(false)]属性操作(post),以允许HTML:

[ValidateInput(false)]
[HttpPost]
public ActionResult PostForm(Model model)
{
 //
}

要使用[ValidateInput(false)]属性,首先必须在站点的Web.config中的httpRuntime标记中添加属性requestValidationMode="2.0"

<system.web>
    <httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" />
    ...
</system.web>

这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM