Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stringbuilder.ToString()转换为;和';符号生成' 及;引用;在javascript中_Javascript_C#_Stringbuilder - Fatal编程技术网

Stringbuilder.ToString()转换为;和';符号生成' 及;引用;在javascript中

Stringbuilder.ToString()转换为;和';符号生成' 及;引用;在javascript中,javascript,c#,stringbuilder,Javascript,C#,Stringbuilder,我在StringBuilder中编写了一些动态javascript代码,但当我将StringBuilder对象转换为字符串时,它会将符号转换为html代码。下面是我的代码: System.Text.StringBuilder gastring = new System.Text.StringBuilder(); @foreach (var line in OrderLines) { gastring.AppendLine("ga('ecommerce:addItem', {");

我在StringBuilder中编写了一些动态javascript代码,但当我将StringBuilder对象转换为字符串时,它会将符号转换为html代码。下面是我的代码:

System.Text.StringBuilder gastring = new System.Text.StringBuilder();
  @foreach (var line in OrderLines)
 {
     gastring.AppendLine("ga('ecommerce:addItem', {");
                gastring.AppendLine("id:\"" + line.OrderNumber + "\",       // Order ID");
                gastring.AppendLine("sku:\"" + line.SkuCode + "\",                                     // SKU");
                gastring.AppendLine("name:" + Microsoft.Security.Application.AntiXss.JavaScriptEncode(line.SkuName) + ",                                  // Product Name ");
                gastring.AppendLine("category:\"" + " " + "\",                                    // Category");
                gastring.AppendLine("price:\"" + line.UnitPrice + "\",                                    // Price");
                gastring.AppendLine("quantity:\"" + line.Qty + "\"                                         // Quantity");
                gastring.AppendLine("});");
}

<script type="text/javascript">
 gastring.ToString()
 ga('ecommerce:send');
</script>
预期产出应如下所示:

ga(&#39;ecommerce:addItem&#39;, {
id:&quot;HGT678&quot;,       // Order ID
sku:&quot;HI789&quot;,                                     // SKU
name:&#39;Test Item 456&#39;,                                  // Product Name 
category:&quot; &quot;,                                    // Category
price:&quot;337.0000&quot;,                                    // Price
quantity:&quot;1&quot;                                         // Quantity
});
ga('ecommerce:addItem', {
id:"HGT678",       // Order ID
sku:"HI789",                                     // SKU
name:"Test Item 456",                                  // Product Name 
category:" ",                                    // Category
price:"337.0000",                                    // Price
quantity:"1"                                         // Quantity
});
在这个问题上需要帮助

谢谢,

Sandy

如果您在ASP.NET MVC中,默认情况下会转义字符串,请重试


如果您在ASP.NET MVC中,默认情况下会转义字符串,请重试


如果要在AppendLine()之间添加任何引号,则必须在单引号和双引号之前附加转义字符(\)

System.Text.StringBuilder gastring=new System.Text.StringBuilder();
foreach(订单行中的var行)
{
gastring.AppendLine(“ga(\'ecommerce:addItem\,{”);
gastring.AppendLine(“id:\”“+line.OrderNumber+“\”,//订单id”);
gastring.AppendLine(“sku:\”“+line.SkuCode+“\”,//sku”);
gastring.AppendLine(“名称:\”+Microsoft.Security.Application.AntiXss.JavaScriptEncode(line.SkuName)+“\”,”;
gastring.AppendLine(“类别:\”“+”\,//类别”);
gastring.AppendLine(“价格:\”+line.UnitPrice+“\”,//价格”);
gastring.AppendLine(“数量:\”“+行数量+”\“//数量”);
gastring.AppendLine(“}”);”;
}       
gastring.ToString()
ga(“电子商务:发送”);

如果要在AppendLine()之间添加任何引号,则必须在单引号和双引号之前添加转义字符(\)

System.Text.StringBuilder gastring=new System.Text.StringBuilder();
foreach(订单行中的var行)
{
gastring.AppendLine(“ga(\'ecommerce:addItem\,{”);
gastring.AppendLine(“id:\”“+line.OrderNumber+“\”,//订单id”);
gastring.AppendLine(“sku:\”“+line.SkuCode+“\”,//sku”);
gastring.AppendLine(“名称:\”+Microsoft.Security.Application.AntiXss.JavaScriptEncode(line.SkuName)+“\”,”;
gastring.AppendLine(“类别:\”“+”\,//类别”);
gastring.AppendLine(“价格:\”+line.UnitPrice+“\”,//价格”);
gastring.AppendLine(“数量:\”“+行数量+”\“//数量”);
gastring.AppendLine(“}”);”;
}       
gastring.ToString()
ga(“电子商务:发送”);

是否在.Net字符串中转义单引号?从未听说过。运行上述代码,您将得到适当的结果。这不是处理此类情况的正确方法,它涉及复杂的字符串技巧。请参阅Michaël Hompus答案。是否在.Net字符串中转义单引号?从未听说过。运行上述代码,您将得到适当的结果。这不是处理此类情况的正确方法,它涉及复杂的字符串技巧。见Michaël Hompus的答案。
@Html.Raw(gastring.ToString())

     System.Text.StringBuilder gastring = new System.Text.StringBuilder();
foreach (var line in OrderLines)
     {
         gastring.AppendLine("ga(\'ecommerce:addItem\', {");
                    gastring.AppendLine("id:\""+ line.OrderNumber  +"\",  // Order ID");
                    gastring.AppendLine("sku:\""+ line.SkuCode  +"\",                                     // SKU");
                    gastring.AppendLine("name:\""+ Microsoft.Security.Application.AntiXss.JavaScriptEncode(line.SkuName) + "\", ");
                    gastring.AppendLine("category:\""+  +"\" ,    // Category");
                    gastring.AppendLine("price:\""+ line.UnitPrice +"\",    // Price");
                    gastring.AppendLine("quantity:\" "+ line.Qty  +"\"   // Quantity");
                    gastring.AppendLine("});");
    }       
        <script type="text/javascript">
         gastring.ToString()
         ga('ecommerce:send');
        </script>