【发布时间】:2014-03-05 05:59:45
【问题描述】:
我已经使用 MVC4 和 Razor 语法实现了 Kendo Grid。此网格显示来自数据库表的日志条目。 LogText 列包含带有 Windows 换行符的文本。我正在尝试用换行符替换那些换行符。为此,我创建了一个要从列模板调用的 javascript 函数。网格使用服务器绑定。我似乎找不到从模板中进行 javascript 调用的正确语法。我见过很多例子,但似乎都没有使用 Razor 语法。我希望有人可以帮助我。
这是我的代码:
@model IEnumerable<Core.Models.ShipmentLog>
@{
ViewBag.Title = "ShipmentLog";
}
<h2>ShipmentLog</h2>
@(Html.Kendo().Grid(Model)
.Name("ShipmentLogGrid")
.Columns(columns=>
{
columns.Bound(bl => bl.UserName);
columns.Bound(bl => bl.LogTime);
columns.Bound(bl => bl.LogType);
columns.Bound(bl => bl.LogText).Width(600).Encoded(false).Template(#= GetHtmlNewLinesString(@item.LogText) #);
})
)
<div>
@Html.ActionLink("Back to List", "Index")
</div>
<script type="text/javascript">
function getHtmlNewLinesString(text) {
return text.replace('\n/g', '<br />');
}
</script>
【问题讨论】:
-
查看渲染的代码。我相信它会呈现为一张桌子。我只需在准备好的文档中放置一个 .each ,它将遍历表格行并运行您的函数
-
谢谢马特。当谈到使用 javascript 进行客户端编程时,我承认自己是个新手。我可能不得不按照你的建议去做。但是,我希望能够从 Kendo 列模板中完成此操作。网络上有一些示例说明何时在 javascript 中实现了网格,但对于 RAZOR 则没有。不幸的是,我试图让这个调用在模板中工作的所有东西都不会调用这个函数。再次感谢。
标签: javascript asp.net-mvc-4 razor kendo-ui grid