Kendo UI for MVC Web Application プロジェクトを作成し、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 内で何らかの設定を検索しましたが、見つかりません。
これら 2 つのインターネット ホスト プロバイダーには、「仮想」Web サイトがあると思いますが、それがどのように機能するかはよくわかりません。関係があるのではないかと思います。
今のところ、上記の解決策は、デフォルトの 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 Host Provider は、ベンダー (Telerik Kendo UI) に連絡して、ラッパーがこの動作を引き起こしている理由を確認する必要があることを示しました。