c# - 如何在 mvc5 中为 Action 使用 allowhtml 属性

标签 c# html asp.net-mvc insert action

我正在开发一个 MVC 5 项目,我想使用 CKEditor用于输入数据。此数据保存为 HTML,但当我尝试显示它时,出现错误。 See code

最佳答案

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

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

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

[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>
}

关于c# - 如何在 mvc5 中为 Action 使用 allowhtml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886474/

相关文章:

asp.net - 我是否需要将 Azure 媒体服务和播放器用于纯音频应用程序

c# - 自 TFS .NET 4.5 升级以来,以 .NET 4.0 为目标会产生无效的 Win XP 应用程序

c# - 有没有办法让气球提示永远不会关闭?

html - 控制复选框的标签

asp.net-mvc - 使用数据注释渲染 &lt;textarea/>

c# - 坐在窗口asp.net mvc时添加实体后发生StackOverflowException

c# - Streamwriter 抛出 system.argumentexception

c# - 如何创建 WinForm 应用程序中已存在的面板列表 (C#)

javascript - 始终在 materializecss 中显示汉堡菜单

java - 如何使用 Jsoup 仅从文本中删除 html 标签?