我使用Index.cshtml和Index.mobile.cshtml。我的Index.cshtml是一个移动应用程序登录页面,其中包含一个用于实时演示移动Web应用程序的iframe。 Index.mobile.cshtml是移动Web应用程序本身。
问题是,iframe一直在加载桌面版本。据我所知,我无法将iframe的用户代理配置为移动类型。它应该可以解决一些路由,但我无法弄清楚如何!?
更新:
我想我找到了解决方案。在iFrame src中,我引入了一个URL参数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();
}
}