-2

我的要求 - 当站点访问者输入像“www.mysite.com/myname”这样的网址并按回车时,我需要加载一个lookup.aspx 页面。

我怎样才能做到这一点?

希望得到回应。

提前致谢。

我试过跟随。web.config 中的代码,但它进入无限循环。

逻辑 - 在 lookup.aspx 的 page_load 上,我正在检查 DB 中的“myname”,如果存在,则将页面重定向到“Home.aspx”,但如果 DB 中不存在“myname”,则重定向到 nomemberfound.aspx 页面。

4

4 回答 4

0

看看这里这里 在 asp.net 中的路由/URL 重写

下面是一个没有参数的例子:

 void RegisterRoutes(RouteCollection routes)
    {
       routes.MapRoute(
       "My Route", //Route name
       "myname", //URL without parameters
       "~lookup.aspx" //The asp.net page
    );
    }
    void Application_Start()
    {
      RegisterRoutes(RouteTable.Routes);//Register route on startup
    }

如果您接受参数,请使用:

"myname/{param}" instead of `"myname"` in the above code.

并从代码隐藏中检索值

void Page_Load(object sender, EventArgs e)
{
     string param=Page.RouteData.Values["param"] as string;
}
于 2012-07-07T06:46:07.360 回答
0

在 global.asax

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    RouteTable.Routes.MapPageRoute("SomeRoute",
    "/{name}",
    "~/lookup.aspx");
}  

要在 lookup.aspx 中获取名称:

string name = Page.RouteData.Values["name"] as string;
    if (name != null)
    {
        if (name == "somename")
        {
           //Do something
        }
    }

更新:

这是一篇不错的文章,其中包含有关如何在 .NET Framework 3.5 中执行此操作的示例。希望能帮助到你!

于 2012-07-07T06:46:37.283 回答
0

您可以让 IIS 使用URL Rewrite 2.0来完成。

该页面上有一个视频,提供了概述。这是一个非常简单的任务。

于 2012-07-08T06:12:17.157 回答
0

我得到了非常简单的解决方案-

您只需要添加以下内容。“”下 web.config 中的代码

<rewrite>
        <rules>
            <rule name="RewriteASPX">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{URL}" pattern="WebResource.axd" negate="true"/>                        
                    <add input="{URL}" pattern="ScriptResource.axd" negate="true"/>                     
                    <add input="{URL}" pattern=".js" negate="true"/>
                </conditions>
                <action type="Rewrite" url="memberlogin.aspx?member={R:0}" />
            </rule>
        </rules>
    </rewrite>
于 2012-07-27T07:56:02.777 回答