我有一个数据库,其中包含到我的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ött
的形式打印在页面上。
如果有人对解决问题有想法,我会很高兴。我在互联网上进行搜索,但找不到适合我的情况的解决方案。
预先感谢