Razor + C# - 自动完成和非拉丁字符问题

时间:2011-12-02 19:37:35

标签: c# asp.net-mvc-3 razor

我有一个带有非拉丁字符的jQuery自动填充字段。

我的控制器有这一行:

ViewBag.EstadosDeAlma = (from e in db.EstadosDeAlma select e.Title).ToList();

我的数据库中的所有结果都是原始的,没有编码。

在我的Razor视图中,我有这一行:

var data = '@foreach (dynamic item in ViewBag.EstadosDeAlma){ @(item + " ") }'.split(" ");

作为自动完成功能,它的效果非常好,但当我尝试搜索压力为“á”的结果时,它无效。

当我查看FireFox中的源代码时,我有这个:

var data = 'álacre esperançosa hilária ...

我需要这样的源代码:

var data = 'álacre esperançosa hilária'

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

您应该使用@Html.Raw(item + " ")来展示您的内容“未转义”。

答案 1 :(得分:0)

我必须将结果作为字符串返回,而不是作为列表返回。

当我这样做时,它起作用:

控制器:

var estadosDeAlma = "";

foreach (var item in db.EstadosDeAlma.ToList())
{
    estadosDeAlma += item.Title + " ";
}

ViewBag.EstadosDeAlma = estadosDeAlma;

查看:

var data = '@Html.Raw(ViewBag.EstadosDeAlma)'.split(" ");