EPiServer 7 の編集モードで使用するモバイル チャネルをセットアップしようとしています。
このリンクをたどっています
初期化モジュールを作成しました
[InitializableModule]
[ModuleDependency(typeof(EPiServer.Web.InitializationModule))]
public class DisplayModesInitialization : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
if (context.HostType == HostType.WebApplication)
{
System.Web.WebPages.DisplayModeProvider.Instance.Modes.RemoveAt(0);
context.Locate.DisplayChannelService()
.RegisterDisplayMode(new DefaultDisplayMode(RenderingTags.Mobile)
{
ContextCondition = (r) => r.Request.Browser.IsMobileDevice
});
}
}
public void Preload(string[] parameters) { }
public void Uninitialize(EPiServer.Framework.Initialization.InitializationEngine context) { }
}
ご覧のとおり、既存の「モバイル」表示モードを削除して、EPiServer DisplayChannelService() によって作成されたものに置き換えようとしました。
ホームページを閲覧するだけで問題なく動作しますが、userAgent を強制的にモバイル ブラウザにすると、正しいビューにヒットします...Index.mobile.cshtml
_Layout.cshtml
ただし、代わりに を探しているようで、それでも_Layout.mobile.cshtml
見つからない場合があります。
The file "~/Views/Shared/_Layout.cshtml" could not be rendered, because it does not exist or is not a valid page.
IDisplayMode
誰でもMVC 用のモバイルを正常に作成できますEPiServer DisplayChannelService
か?
また、モバイルビューでレイアウトを明示的に設定した場合
@{
Layout = "~/Views/Shared/_Layout.mobile.cshtml";
}
それも見つからない場合は?
The file "~/Views/Shared/_Layout.mobile.cshtml" could not be rendered, because it does not exist or is not a valid page.
_Layout と _Layout.mobile DO の両方がその場所に存在しますか?