【问题标题】:How to create a blog in ASP.NET and not ASP.NET MVC如何在 ASP.NET 而不是 ASP.NET MVC 中创建博客
【发布时间】:2010-11-23 10:03:47
【问题描述】:

我用 ASP.NET MVC 和 MSSQL 创建了一个博客应用程序。我必须说,我真的很享受使用 ASP.NET MVC 创建应用程序的过程。干净的 URLS(带有 URL 路由),没有视图状态等等。

但是我想知道如果我选择网络表单样式编码会如何完成? aspx 会在我创建文章时即时创建吗?(以这个 url 为例:http://weblogs.asp.net/scottgu/archive/2010/10/06/announcing-nupack-asp-net-mvc-3-beta-and-webmatrix-beta-2.aspx)虽然 URL 不干净但仍然有意义。如果是,那么它对应的cs文件呢?如果没有,URL 怎么这么干净?

如果有人对它在 ASP.NET 中的实现方式有所了解,那就太好了。

谢谢你,法拉兹。

【问题讨论】:

  • 您的问题是关于“如何创建博客”还是“如何拥有漂亮的网址”?

标签: asp.net url blogs


【解决方案1】:

如果您使用 .NET 4,则可以使用 MapPageRoute 来完成常规 Web 表单的干净 URL。

routes.MapPageRoute("MySuperCleanRoute", "some/clean/url", "~/ActualPage.aspx");

加上MapPageRoute,你不再有“我应该使用 ASP.NET MVC 因为我想要干净的 URL”的感觉。

如果您喜欢该模式,请选择 ASP.NET MVC。如果您习惯使用 Web 表单,请使用它 - 并使用 MapPageRoute 来实现干净的 URL(如果

【讨论】:

    【解决方案2】:

    在 ASP .NET 中创建博客的方式大致相同。这个想法是使用一个文件和 URL 重写。 IIS7 内置了 URL 重写,但对于 IIS6,您可以使用 ISAPI_Rewrite 之类的东西来处理 .htaccess 样式文件(这是 Apache 使用的)。

    ASP .NET MVC 在其路由中为您处理所有这些,但您可以使用 URL 重写工具自己完成。不同之处在于,对于 MVC,应用程序处理重写,而 ISAPI_Rewrite、IIS 重写由服务器完成。这可以将 http://mysite.com/something/other 之类的 URL 更改为 http://mysite.com/file.asp?p1=something&p2=other

    第二个链接仅在服务器内部(它实际上不会更改用户地址栏中的 URL)。对于像 Scott 的博客这样的 URL,您可以将 'announcing-nupack-asp...' 位存储在数据库中作为文章行的一部分,以便您的博客文章页面可以查找。这些文件实际上并不存在于服务器上,但重写会将所有请求传递给带有参数的现有文件。

    请注意,这种技术适用于许多不同的网站——不仅仅是博客。注意 Stack Overflow URL、Twitter URL 等。

    MSDN 在URL Rewriting in ASP .NET 上有一篇旧文章,以及一些您可以使用的过滤器示例。

    【讨论】:

    • 有道理.. 非常感谢您的链接。但是,当我将鼠标悬停到博客中的 URL 时,我看到 IE 状态栏显示重写的 URL。这是怎么做到的?
    【解决方案3】:

    【讨论】:

      【解决方案4】:

      如果您使用的是 .Net Framework 3.5 SP1(如果您无权访问 .Net 4),则可以使用带有 WebForms 的 asp.net MVC 中的 URL 重写

      这是MSDN magazine article explaning...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        • 1970-01-01
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多