0

我有一个使用带有客户端模板的 Kendo UI Grids 的 asp.net MVC Web 应用程序。客户端模板指定 href 如下:

.ClientTemplate("<a href='[controller]/[action]/[parameters]' />")

在调试运行中,链接正确生成如下:

http://localhost:[port]/[Controller]/[Action]?[parameters]

效果很好。

但是,在部署的环境中,生成的链接如下:

http://[server]/[Controller]/[Action]?[parameters]

这失败了,因为它缺少网站名称。所以我需要的是它生成如下链接:

http://[server]/[WebSite]/[Controller]/[Action]?[parameters]

我需要如何指定我的 href 链接才能使其正常工作?

4

1 回答 1

3

不要手动编码您的 url,而是使用UrlHelper,它将负责将虚拟目录包含到您的 url 中:

.ClientTemplates(string.Format("<a href='{0}' />", 
                     Url.Action("action", "contoller", new { param1, param2})))

如果要在 url 中使用客户端模板值,则必须动态构建 url,因为 Kendo UI 模板语法不会在路由值内:

columns.Bound(m => m.Id)
       .ClientTemplate(string.Format("<a href='{0}&Id=#= Id #'>Click me<a>", 
           Url.Action("action", "contoller", new { someNotTemplatedParam })));
于 2012-10-19T12:23:33.400 回答