2012-10-17 82 views
1

我是ASP.NET的新手,我在WebMatrix中使用razor语法首先学习。带WebMatrix和剃须刀的友好URL

在PHP我用的.htaccess路由的URL数据库的帖子,例如:

http://mywebsite.com/linux/how-to-install-wamp-in-ubuntu-12.04 

在这种情况下,路由文件:

http://mywebsite.com/routes.php?title=how-to-install-wamp-in-ubuntu-12.04 

我试图航线,如PHP例如:

http://mywebsite.com/routes.cshtml?title=how-to-install-wamp-in-ubuntu-12.04 

我能做到这一点在ASP.NET与WebMatrix中和剃须刀?

我知道如何在ASP.NET中获取GET数据,但我不明白如何创建友好的URL,以及如何在找不到页面时路由到“routes.cshtml”。

回答

3

详情:微软现在这使得通过Nuge的ASP.NET非常容易t包。不幸的是,这个软件包“Microsoft.AspNet.FriendlyUrls”目前处于预发行版,而WebMatrix不允许您下载预发行版。因此,跟我的做法相比,如果你只是有Visual Studio或VS Express,这可能不那么容易。

我的建议是下载Visual Studio Express 2012并使用它开发或使用它,这样你就可以获得Nuget包。

我假定你想在WebMatrix中开发。

解决方案:

  1. 下载并安装Visual Studio Express的2012
  2. 创建一个新的网站
  3. 在解决方案资源管理器中,右键点击你的网站,并选择 “管理的NuGet包。”
  4. 按下表示“仅稳定”的下拉列表并选择“包括预售”
  5. 在搜索框中输入“Microsoft.AspNet.FriendlyUrls “
  6. 选择”安装“
  7. 在Windows资源管理器中打开项目,以便看到所有文件。
  8. 将文件夹“App_Code”和“bin”复制到您的WebMatrix项目中(例如将它们添加到您的解决方案中)。
  9. 添加全局应用程序类“Global。ASAX”
  10. 在Application_Start方法中添加以下行

    RouteConfig.RegisterRoutes(System.Web.Routing.RouteTable.Routes);

  11. 现在,您将有FriendlyURL的

我知道,这似乎是一个大量的工作,但如果你有Visual Studio或WebMatrix中允许的预发行那么这将是很容易做到。

警告:如果你决定去发展它在Visual Studio中删除以下文件作为它的移动部分目前不工作(因此,为什么它是预发行)

  • Site.Mobile.Master
  • LiSite.Mobile.Master.designer.cs
  • ViewSwitcher.ascx
  • ViewSwitcher.ascx.designer.cs

未来:在不久的将来会有FriendlyUrl的的发行版本,然后你就可以从的NuGet得到它在WebMatrix中更容易。

更多信息的链接:

Information on Microsoft's Friendly Url Package
Information on how to use Nuget in WebMatrix

+0

正是我所需要的,但我有一个关于asp.net的问题...我在一个托管包不会产生依赖性问题由于发布应用程序后?对于信息 – Carasuman

+0

我不相信这个包是用于网页框架。它安装Web窗体用户控件和母版页。 –