在ASP.NET MVC的Action中直接接受客户端发送过来的HTML内容片段

时间:2023-03-09 04:47:25
在ASP.NET MVC的Action中直接接受客户端发送过来的HTML内容片段

出于安全的考虑,默认情况下,如果从客户端发送过来的数据中直接包括了HTML内容,ASP.NET会自动启动保护措施,你会收到下面的错误提示

在ASP.NET MVC的Action中直接接受客户端发送过来的HTML内容片段

这当然是一个不错的设计,只不过在某些特殊的事情,如果我们确实需要接受客户端发送过来的HTML,那么就需要做出一些必要的修改了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace EMREditor.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        //public ActionResult Index()
        //{
        //    return View();
        //}

[HttpPost]
        [ValidateInput(false)]
        public ActionResult Index()
        {
            var req = Request.Form;
            return Content(req["content"]);
        }
    }
}

然后,在web.config中还需要配置

<system.web>
  <compilation debug="true" targetFramework="4.5.2"/>
  <httpRuntime targetFramework="4.5.2" requestValidationMode="2.0"/>
</system.web>