1

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

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

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

假设我输入

www.mysite.com/search/John/Doe

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

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

4

3 回答 3

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

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

于 2012-11-15T18:52:37.227 回答
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
于 2012-11-15T19:32:34.323 回答
0

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

request.Querystring["parameter1"]

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

Controller/Action/Parameters

您需要在 WEBFORMS 中搜索的概念是 ViewState,这是 asp.net 必须看起来像您永远不会丢失表单数据的错觉

于 2012-11-15T18:51:37.370 回答