Kendo UI菜单操作和控制器在ISP提供程序上产生错误,如DiscountASP.NET。必须使用URL

时间:2013-03-05 21:02:16

标签: kendo-ui

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

1 个答案:

答案 0 :(得分:0)

怎么样:

 menu.Add().Url(Url.Action("About", "Home")).Text("About");