Index.cshtmlとIndex.mobile.cshtmlを使用しています。My Index.cshtmlは、モバイルWebアプリのライブデモ用のiframeを含むモバイルアプリのランディングページです。Index.mobile.cshtmlは、モバイルWebアプリ自体です。
問題は、iframeがデスクトップバージョン自体をロードし続けることです。私の知る限り、iframeのユーザーエージェントをモバイルタイプに設定することはできません。いくつかのルーティングで解決できるはずですが、方法がわかりませんでした!?
更新:
私は解決策を見つけたと思います。iFrame srcで、URL param forceMobile=trueを導入します。
<iframe id="rtnApp" src="/demohcid?forceMobile=true"></iframe>
HomeControllerで、このURL Paramを確認し、forceMobileの場合は、エージェントがデスクトップブラウザーであっても、モバイルビューを返します。
public class HomeController : Controller
{
public ActionResult Index()
{
if (Request.Params["forceMobile"] != null)
return View("Index.mobile");
else {
return View();
}
}