我为MVC Web应用程序项目创建了一个Kendo UI,它在localhost上运行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方法,我很高兴知道这一点。我已经在主机提供商处提交了一张帮助票,看看我在部署阶段可能会做些什么,但我不知道下一步该怎么做。
编辑:Internet主机提供商表示我需要联系供应商(Telerik Kendo UI)以检查包装器导致此行为的原因。
答案 0 :(得分:0)
怎么样:
menu.Add().Url(Url.Action("About", "Home")).Text("About");