1

我为 MVC Web 应用程序项目创建了一个 Kendo UI,它在本地主机上运行 find。在将其作为 Web 应用程序部署到 DiscountASP.NET 或 WinHost 上我的域的子目录时,我收到一个错误:

此处不允许使用相对虚拟路径“~4/”。

Line 21:            </div>
Line 22: 
Line 23:            @(Html.Kendo().Menu()
Line 24:                    .Name("menu")
Line 25:                    .Items(menu => {

不知何故,我能够在工作中通过 Visual Studio 2012 的 FTP 部署完成正确的部署。但是在家里它仍然不起作用。我正在使用 Visual Studio 2012 和 Web Deploy,并正确说明了 Web 应用程序的地址。我在 IIS 8 中搜索了某种设置,但找不到。

我想这两个互联网主机提供商都有“虚拟”网站,尽管我不熟悉它是如何工作的。我认为这可能是相关的。

目前解决上述问题的方法是更改​​默认的 Telerik 提供的代码:

            @(Html.Kendo().Menu()
                .Name("menu")
                .Items(menu => {
                    menu.Add().Text("Home").Action("Index", "Home");
                    menu.Add().Text("About").Action("About", "Home");
                }))

对此:

            @(Html.Kendo().Menu()
                .Name("menu")
                .Items(menu => {
                    menu.Add().Text("Home").Url("~/Home/Index");
                    menu.Add().Text("About").Url("~/Home/About");
                }))

如果有一种方法可以让我回到在 MVC 包装器中使用 Telerik 的 Kendo UI 菜单的 Controller 和 Action 方法,我将不胜感激。我已在主机提供商上提交了一份帮助票,以查看我在部署阶段可能会做什么,但否则我不确定下一步该做什么。

编辑:互联网主机提供商表示我需要联系供应商(Telerik Kendo UI)以检查包装器导致此行为的原因。

4

1 回答 1

0

这个怎么样:

 menu.Add().Url(Url.Action("About", "Home")).Text("About");
于 2015-09-28T11:01:07.620 回答