Razor中的JavaScript编码错误

JavaScript within Razor with wrong encoding

本文关键字:错误 编码 JavaScript 中的 Razor      更新时间:2023-09-26

目标

修复Razor引擎的<text>标签中的重音。

问题

我是巴西人,在我们国家有太多的口音。苹果在我们的语言中的意思是"马",正如你所看到的,有两种口音/特殊字符。

以下语法是用JavaScript编写的,应用程序使用Razor Engine进行模板化

var products = [];
@foreach (var product in Model)
{ 
    <text>
        products.push(new Product
                        ("@product.productId",
                         "@product.productName",
                         "@product.thumbnailUrl",
                         "@product.originalProductPrice",
                         "@product.promotionalProductPrice",
                         "@product.measureName",
                         "@product.measureAbbreviation",
                         "@product.marketName",
                         "@product.numberOfMarketsThatHaveThisProduct",
                         "@product.productState")
                );
    </text>
}

正如您所看到的,JavaScript中有Razor,Razor中也有JavaScript。

这个循环的一个结果是Maçã,当我在<text>标签中显示它时,结果是:"Ma&#231;&#227;"。

我真的不知道这个问题,也不知道如何解决,需要你的帮助有什么想法吗

我不在我的Windows环境中,所以我很抱歉,如果这是错误的,你必须尝试:

"@Html.Raw(product.productName)",

Razor默认对HTML实体和保留字符进行编码。