[英]how to use allowhtml attribute for an action in mvc5
您可以将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.