值形式的C#列表在JavaScript数组中成为Latin-1补充

时间:2019-01-28 11:02:15

标签: javascript c# .net razor asp.net-core

我有一个数据库,其中包含到我的ASP.NET Core应用程序中的产品值,并且来自数据库的对象的属性之一是称为Eternal的布尔值。 我正在整理所有具有永恒状态True的对象,这就是我的方法:

public IActionResult Index()
    {
        using ( var db = new DataBaseContext())
        {
            var model = db.product.Where(p => p.Eternal).ToList<Product>();

            return View(model);
        }

    }

这非常好用,所有值都以UTF-8的形式输入,但是当我随后将所有这些值传递到我的javascript数组中时,这些值以Latin-1 Supplement的形式显示在页面上。

这是我将c#值添加到我的javascript数组(MenuArray)以及在剃刀页面内尝试将Latin-1转换为UTF-8的方式:

<script type="text/javascript" charset="utf-8">
@foreach (Product prod in Model)
{
    <text>
        var obj = {
            "MenuRowId": -1,
            "WeekDay": "Evig",
            "Food": "@prod.Description",
            "Price": @prod.Price,
            "Cabinet": "@prod.Cabinet",
            "Eternal": "@prod.Eternal"
        };
        decode_utf8(obj);
        MenuArray.push(obj);
    </text>
}
EmptyMenuAddRowCreateMenuFunction();
function decode_utf8(s) {
    return decodeURIComponent(escape(s));
}
console.log(MenuArray);
</script>

例如:

我在所有对象上都具有属性Description,并且对象描述之一是Kött,并且该值以K&#xF6;tt的形式打印在页面上。

如果有人对解决问题有想法,我会很高兴。我在互联网上进行搜索,但找不到适合我的情况的解决方案。

预先感谢

0 个答案:

没有答案