Asp.net MVC 文本编辑器将长 html 代码传递给控制器

Asp.net MVC Text Editor pass long html code to controller

我想为网站制作一个文本编辑器,以允许用户编写自己的文本或来自其他来源的过去文本来创建页面(例如 wordpress)。 为此,我选择 Jquery-Te 作为文本编辑器。

我的问题是,当我 copy/paste 来自维基百科的文本时,我遇到了 404.15 错误。我读过我可以对 RequestLimit 做一些更改,但我不知道用户文本可以有多长。我可以将限制设置为 400000,但如果用户输入 500000,他将收到错误消息。是否有其他方法允许用户传递大量文本?

我的第二个问题是 Jquery-Te 生成 html 而我的文本实际上是一个 html 代码。有时我无法得到像 "A potentially dangerous Request.Form value was detected from the client".

这样的错误

有人可以帮我做我想做的事吗?

我给你我的代码:

视图:

<form action="SaveArticle" method="post">
    @Html.TextBoxFor(x => x.Article.Titre)
    @Html.TextBoxFor(x => x.Article.Contenu, new { @class = "editor" })
    <button type="submit" class="btn btn-info btn-circle">
        <i class="fa fa-search"></i>
    </button>
</form>


<script>
    $(".editor").jqte();
</script>

控制器:

public ActionResult GestionDesPages(GestionDesPagesViewModel gdpvm)
        {
            return View(gdpvm);
        }

        [HttpPost]
        public ActionResult SaveArticle(GestionDesPagesViewModel gdpvm)
        {
            Articles article = gdpvm.Article;
            article.Date = DateTime.Now;
            article.Auteur = "Pascal";

            db.Articles.Add(article);
            db.SaveChanges();

            return View("GestionDesPages");
        }

视图模型:

public class GestionDesPagesViewModel
    {
        public Articles Article{get; set;}
    }

型号:

public partial class Articles
{
    public int Id { get; set; }
    public string Titre { get; set; }
    public string Contenu { get; set; }
    public string Auteur { get; set; }
    public Nullable<System.DateTime> Date { get; set; }
    public Nullable<bool> Actif { get; set; }
}

抱歉英语不好。 谢谢。

编辑:

谢谢你纳瓦。 Nava 给出的解决方案帮助我解决了所有问题。 我没说我用 EntityFramework。要添加 [AllowHttp],我使用了在此 Add annotation to Entity Framework Generated class

中定义的过程

要允许在您的表单中输入 HTML 而不会收到 "potentially dangerous" 消息,请将 [AllowHtml] 属性添加到 Contenu

[AllowHtml]
public string Contenu { get; set; }

请记住,当您显示该字段时,您可能需要 Html 编码以防止跨站点脚本问题