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

时间:2016-06-17 16:41:14

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

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

3 个答案:

答案 0 :(得分:11)

您可以将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>
}

答案 1 :(得分:2)

在控制器中添加[ValidateInput(false)]属性操作(post),以允许HTML:

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

答案 2 :(得分:1)

要使用using System.Collections; using System.Collections.Generic; using UnityEngine; public class AIMove : MonoBehaviour { public int speed; public bool validUp = true; public bool validDown = true; void Awake() { } void Update() { GameObject sphere = GameObject.Find("Sphere"); Transform spherePosition = sphere.GetComponent<Transform>(); float spherePos = spherePosition.position.y; if (spherePos < (0) && validUp == (true)) { transform.Translate(Vector3.up * speed * Time.deltaTime); } else if (spherePos > (0) && validDown == (true)) { transform.Translate(Vector3.down * speed * Time.deltaTime); } if (transform.position.y >= (2.3F)) { validUp = false; } else if (transform.position.y <= (-2.3F)) { validDown = false; } else { validUp = true; validDown = true; } } } 属性,首先必须在网站的Web.config中的httpRuntime标记中添加属性[ValidateInput(false)]

requestValidationMode="2.0"

这对我有用。