无法在Asp.net Core Web API中保存HTML代码

时间:2019-09-18 05:13:19

标签: html asp.net-core asp.net-web-api

我正在尝试使用字符串属性将html代码插入sql服务器。我正在使用Json Api进行粗体操作。从我的研究中,我发现不再允许html,所以我实现了HtmlEncoderJavaScriptEncoderUrlEncoder,但仍然无法发送html代码。请任何人帮助我。

Controller

  private readonly IInvoiceTemplateService _invoiceTemplateService;
        private ILog _logger;
      private   HtmlEncoder _htmlEncoder;
       private JavaScriptEncoder _javaScriptEncoder;
      private  UrlEncoder _urlEncoder;
        /// <summary>
        /// Constructor - InvoiceTemplate Controller
        /// </summary>
        /// <param name="jsonApiContext"></param>
        /// <param name="invoiceTemplateService"></param>
        /// <param name="dbContext"></param>
        public InvoiceTemplateController(
                IJsonApiContext jsonApiContext,
        IInvoiceTemplateService invoiceTemplateService,
         ILog logger,
          HtmlEncoder htmlEncoder,
           JavaScriptEncoder javascriptEncoder,
           UrlEncoder urlEncoder)
        : base(jsonApiContext, invoiceTemplateService)
        {
            _invoiceTemplateService = invoiceTemplateService;
            _logger = logger;
            _htmlEncoder = htmlEncoder;
            _javaScriptEncoder = javascriptEncoder;
            _urlEncoder = urlEncoder;
        }

entity

 [Attr("InvoiceTemplateBody")]
 public string InvoiceTemplateBody { get; set; }

输入input

错误error

1 个答案:

答案 0 :(得分:0)

您的问题是<head name="">。由于双引号字符"是JSON中的保留字符,因此您需要像这样\"那样对其进行正确的转义。因此,您的问题的解决方案是发送

{
  "invoicetemplatebody": "<head name=\"\">"
}

P.S .:您的JSON字段的末尾有一个逗号,由于没有更多字段,我将其删除了。