【问题标题】:How can I rewrite my URL in ASP.NET?如何在 ASP.NET 中重写我的 URL?
【发布时间】:2009-08-10 17:05:00
【问题描述】:

我想以编程方式隐藏我的网址。
我知道我可以使用:

Server.Transfer("url",boolean)

在这种情况下,这不是我想要的。我希望在获得所需的变量后能够操作 URL。

我将如何在 ASP.NET 中执行此操作?


编辑:

我的网址:

URL.aspx?st=S&scannum=481854

我想在页面加载时将其更改为 URL.aspx?,但我需要先获取 stscannum 值。

【问题讨论】:

  • 隐藏网址...来自?浏览器?为什么不是 Server.Transfer 你想要的?更多信息可能会有所帮助。
  • 您需要什么?传入的 URL 是什么样的,你想用它做什么?
  • 好的。我编辑了我的问题以便更清楚
  • 这还不是很清楚。似乎您在问是否有办法在没有 GET 参数的情况下将客户端 URL 更改为 URL.aspx,即使客户端使用这些参数发送请求也是如此。 没有任何东西可以控制。是不可能的。如果您不希望 GET 参数出现在 URL 中,请使用 POST 而不是 GET,就像 Dav 说的那样。

标签: c# .net asp.net


【解决方案1】:

你看过这篇涵盖Url Rewriting in ASP.NET的文章吗?

我也建议您查看ASP.NET MVC。 MVC 代表模型视图控制器。该框架将使用“控制器”将最终用户路由到显示您的数据(您的“模型”)的“视图”。 MVC 根据 URL 为你做所有的路由。

【讨论】:

  • 你也可以在没有 MVC 的情况下使用路由......如果你害怕弄湿......haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx
  • 这是非常真实的 BigBlondViking :) 这就是为什么我首先发布了这篇文章的链接,该文章介绍了 ASP.NET 中的 URL 重写。不过,我对 MVC 感到非常兴奋。这是一个早该出现的惊人框架。数据(模型)与用户界面(视图)的分离让您的代码保持井井有条,我非常喜欢干净的代码。它还允许您构建站点的 URL,这不仅使您的最终用户更容易使用该站点,而且还允许您更改资源(模型和视图)的位置,因为它们没有与 URL 紧密链接更多。
【解决方案2】:

如果您要传递不希望在 URL 中显示的变量,为什么不使用 POST 而不是 GET?

【讨论】:

  • 好吧..我到底该怎么做?我正在使用 response.redirect 来设置我的 url 变量。
【解决方案3】:

您必须提供更多关于您想要的最终结果的详细信息。处理 URL 的选项有很多。

使用 POST 将允许您在页面之间传输信息,而不会在您的 URL 中添加额外的值。使用加密不会隐藏额外的参数,但会使它们不可读。使用 URL 重写器,您可以使用正则表达式让用户输入一个 URL,但实际上加载另一个。

【讨论】:

    【解决方案4】:

    我过去曾回答过类似的问题。我说的类似,因为我不确定您到底在寻找什么,但我觉得有必要发布一个指向另一个问题的链接,看看它是否会有所帮助:

    ASP.NET - Building your own routing system

    【讨论】:

      【解决方案5】:
      【解决方案6】:

      不可能做我想做的事。我想在不刷新的情况下在 javascript 中更改我的 url 的外观。如果这是可能的,黑客将统治世界。

      【讨论】:

        猜你喜欢
        • 2014-12-07
        • 2014-09-26
        • 2013-01-15
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        • 2011-08-02
        • 2010-10-05
        • 2011-08-03
        相关资源
        最近更新 更多