移动交换在vs.net 2012 ASP.net Web表单网站项目中如何工作

移动交换在vs.net 2012 ASP.net Web表单网站项目中如何工作,asp.net,webforms,Asp.net,Webforms,我正处于研究如何在ASP.NET Web表单网站项目中支持一组移动页面的早期阶段 在以前使用MVC和Razor的项目中,我们只需要一个.mobile.cshtml版本的页面,而ViewEngine将处理服务器上页面的桌面和移动版本之间的切换(例如,桌面浏览器将使用index.cshtml,移动浏览器将使用index.mobile.cshtml) 我原以为web表单项目也会有类似的东西,为了确保启动Visual Studio 2012,创建了一个ASP.NET web表单网站项目,瞧,模板创建了s

我正处于研究如何在ASP.NET Web表单网站项目中支持一组移动页面的早期阶段

在以前使用MVC和Razor的项目中,我们只需要一个.mobile.cshtml版本的页面,而ViewEngine将处理服务器上页面的桌面和移动版本之间的切换(例如,桌面浏览器将使用index.cshtml,移动浏览器将使用index.mobile.cshtml)

我原以为web表单项目也会有类似的东西,为了确保启动Visual Studio 2012,创建了一个ASP.NET web表单网站项目,瞧,模板创建了site.Master和site.Mobile.Master,甚至包括了ViewSwitcher.ascx。然而,当使用Chrome浏览器并将用户代理设置为一个移动字符串或使用Electric Plum IPhone模拟器浏览网站时,我总是以桌面版的页面结束


我已经做了一些调试,并查看了DisplayModeProvider.Instance.Modes集合,其中列出了一个移动提供商和一个默认提供商,因此我有点困惑,需要做些什么才能呈现移动版本。

嘿,尼尔,你在项目中查看CSS文件了吗?@media标签允许您在更小的设备上编写css样式

/********* *移动风格* *********/

@仅介质屏幕和(最大宽度:850px){

//这里的风格


}我们也有同样的问题。我们需要一些时间来弄清楚,您需要使用URL重写URL打开页面。试着打开
http://mymachine/myApplication/default
而不是
http://mymachine/myApplication/default.aspx

致以最良好的祝愿,
Nico

你好,Tony,是的,我可以使用响应式设计方法,事实上这将是我的首选方法,但是该项目涉及为现有网站提供移动解决方案。我们可以从头开始编写一个移动页面,但是我喜欢利用相同的解决方案,让桌面和移动页面并排放置在服务器上,然后基于浏览器呈现给客户端。由于MVC通过.mobile.cshtml类型的方法支持这一点,并且项目模板已经为aspx提供了类似的东西,我对自己的失败感到困惑。