繁体   English   中英

在MVC C#中关闭html条件编译

[英]html conditional compilation is turned off in MVC C#

我写了这个函数

 <script type="text/javascript">
    function saveDelivery() {
       alert("tttt")
       var model = @Html.Raw(Json.Encode(Model)); //errror
       $.ajax({

           type: 'POST',

           url: '@Url.Action("SaveDelivery", "Business")',
           contentType: 'application/json; charset=utf-8',
           data: JSON.serialize(model),
           success: function (result) {                                  
           },
           error: function (xhr, ajaxOptions, thrownError) {
               alert(xhr.status);
               alert(thrownError);
          }
      });

  }    

但是有错误

var model = @Html.Raw(Json.Encode(Model));

它说conditional compilation is turned off如何解决这个问题?

您可以使用Html扩展来输出脚本标记。 这有助于解决Visual Studio中的智能感知问题。

public static class Extensions
{
    public static IHtmlString BeginScript(this HtmlHelper htmlHelper)
    {
       return new HtmlString("<script type=\"text/javascript\">");
    }

    public static IHtmlString EndScript(this HtmlHelper htmlHelper)
    {
        return new HtmlString("</script>");
    }
}

然后在你看来:

@Html.BeginScript()

// JavaScript...

var model = @Html.Raw(Json.Encode(Model));

// More JavaScript...

@Html.EndScript()

注意:您需要将扩展​​类的名称空间添加到web.config中的<system.web.webPages.razor>元素(views文件夹中的那个)

有两种选择:

  1. 不在乎,你确定你的代码(这是警告)
  2. 做类似这样的事情: var model = '@Html.Raw(Json.Encode(Model)) ',但可能你必须把它改成: var model = JSON.parse('@Html.Raw(Json.Encode(Model))')

Json.Encode缺少mvc 4程序集引用

首先添加system.web.helper参考
然后右键单击此refrence属性并将Copy Locaal = false更改为true并使用json.Encode运行代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM