从url生成搜索

时间:2012-11-15 18:48:49

标签: asp.net

我正在ASP.NET 4.0中构建一个Web应用程序。

现在我不知道这个术语,所以它可能是一个愚蠢的标题,很容易找到,但我在发布之前试图找到解决方案。但我真的不知道这叫什么..?

问题:
如何从URL中读取变量?

假设我输入

www.mysite.com/search/John/Doe

我想直接从网址中取出“John”和“Doe”,并将它们设置为变量。

另外,在访问www.mysite.com时,如何添加,以便我的文本框中的信息在不重新加载页面的情况下将URL添加到后面?但仍处理我的请求?

3 个答案:

答案 0 :(得分:1)

我认为您正在寻找URL映射/重写,它会解析您询问的URL。提取搜索参数将适用于www.mysite.com/search?FirstName=Joe&LastName=Doe。

ScottGu在这里有一篇关于URL映射/重写的文章:http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

在这个论坛上完全回答这个问题太复杂了,但希望斯科特的文章能给你一个开始。它列出了几个选项,每个选项都有例子。

答案 1 :(得分:1)

如果您使用的是asp.net 4,则可以使用Url Routing,如下所示;

Globle.asax

void Application_Start(object sender, EventArgs e) 
{
        //define your route pattern here
        RouteTable.Routes.Add("SearchRoute", 
                    new Route("Search/{Firstname}/{Lastname}",
                    new PageRouteHandler("~/SearchPage.aspx")));
}

www.mysite.com/search/John/Doe

SearchPage.aspx

//access your route values here
string fName = RouteData.Values["Firstname"]; //John
string lName = RouteData.Values["Lastname"];  //Doe

答案 2 :(得分:0)

取决于,如果您使用普通的网络表单,它可能是这样的:

request.Querystring["parameter1"]

如果您正在使用MVC,那么它将在您的路由配置中定义:

Controller/Action/Parameters

您需要在WEBFORMS中搜索的概念是ViewState,这是一种幻想,asp.net必须看起来像你没有丢失表单数据