2013-10-28 175 views
0

我有2个问题未解决在我的应用程序。我在ASP.NET上构建了一个网站(桌面)和一个移动网站。这两个网站都具有相同的功能,但移动的意见是不同的。桌面版本有一个管理模块,作为管理员,我可以改变不同的东西,其中包括一些在两个版本中显示的图像。手机网站和网站使用相同的内容/重定向到手机网站

我的烦恼有以下几种:

  1. 我怎么能只使用一个域名打开网站,根据所使用的设备

  2. 考虑到上述项目上的....我怎么能这两个网站只使用一个内容文件夹? (不同的site.css)

我会很高兴和域文件夹结构帮助使这成为可能

回答

0

如果你想只托管一个网站,这是完全可能的,我会建议在你的浏览器中使用用户代理。用户代理对于每个浏览器/设备是不同的。因此,您可以轻松维护每个设备的不同视图。

打开Global.asax文件并将下面的代码添加到Application_Start方法中。

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone") 
{ 
ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf 
    ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) 
}); 

然后,您可以轻松地在您的视图文件夹中制作不同的视图。只要确保你添加前缀为您的观点:

index.cshtml

iphone.index。CSHTML

你可以找到这个网站的详细信息:http://www.asp.net/mvc/tutorials/mvc-4/aspnet-mvc-4-mobile-features

我做主持一个网站与不同的布局基础上的一种设备的一个例子:http://kotatgent.azurewebsites.net/

您可以通过手动改变测试这个你通过下载这个扩展名在铬中的用户代理:

+0

有趣......让我试试吧..我会让你知道....谢谢!!! –

+0

谢谢...我用51Degrees.mobi。非常好 –

0

你的问题是相当广泛的,但希望这些资源能够激发你的方向前进,以拉你想要的东西

我会选择一个网站,并重构它是移动就绪。做这个imo的好方法是实现CSS媒体查询。请参阅article from smashingmagazine以了解该主题的介绍以及一些入门知识。通过媒体查询,您可以根据诸如屏幕宽度,方向等因素定义断点,以便相应地渲染您的网站。

另外看看实现JavaScript库Modernizr,这也可能会帮助你设备检测。该库可以帮助检测用户是否具有某些功能,这些功能可能会影响您的移动开发的某些方面,并且还可以根据设备检测提供有条件的资源加载(如果挑剔您的移动网站将加载带宽保存)。即我的桌面需要所有这些桌面JavaScript库,我的移动网站可能只需要这一个。

如果你的能力在你从头开始的话,那么你可能会更好地选择一块干净的石板,展示你希望移动的架构,以跨越多个平台。对CSS媒体查询和modernizr等资源进行精心策划的使用可以产生一个网站,该网站几乎可以在任何设备上看起来很棒,所有设备都包含在一个项目中。

+0

非常感谢。我会检查信息,让你知道如果完成它! :D –