首页 > 解决方案 > 无法在 Asp.net core web api 中保存 html 代码

问题描述

我正在尝试使用字符串属性将html代码插入服务器。我正在使用crud 操作。根据我的研究,我发现不允许再执行 ,但我仍然无法发送 html 代码。请任何人帮助我。sqlJson ApihtmlHtmlEncoderJavaScriptEncoderUrlEncoder

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; }

输入输入

错误错误

标签: htmlasp.net-coreasp.net-web-api

解决方案


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

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

PS:您的 JSON 字段末尾有一个额外的逗号,我删除了它,因为没有更多字段。


推荐阅读