我为 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)以检查包装器导致此行为的原因。