Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从url生成搜索_Asp.net - Fatal编程技术网

Asp.net 从url生成搜索

Asp.net 从url生成搜索,asp.net,Asp.net,我正在ASP.NET4.0中构建一个Web应用程序 现在我不知道这个术语,所以这可能是一个愚蠢的标题,很容易找到,但我已经试图找到一个解决方案,然后在这里发布。但我真的不知道这叫什么 问题: 如何从URL读取变量 假设我输入了 www.mysite.com/search/John/Doe 我想直接从url中取出“John”和“Doe”,并将它们设置为变量 此外,当访问www.mysite.com时,我如何添加文本框中的信息,以便在不重新加载页面的情况下将url添加到后面的文本框中?但是仍然处理我

我正在ASP.NET4.0中构建一个Web应用程序

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

问题:
如何从URL读取变量

假设我输入了

www.mysite.com/search/John/Doe

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


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

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

request.Querystring["parameter1"]
如果您使用的是MVC,那么它将在您的路由配置中定义:

Controller/Action/Parameters

您需要在WEBFORMS中搜索的概念是ViewState,这是一种错觉,即asp.net必须看起来像您从未丢失过表单数据一样

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

ScottGu在这里有一篇关于URL映射/重写的文章:


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

如果您在asp.net 4中,您可以使用以下内容:

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")));
}
//access your route values here
string fName = RouteData.Values["Firstname"]; //John
string lName = RouteData.Values["Lastname"];  //Doe
www.mysite.com/search/John/Doe

在SearchPage.aspx中

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")));
}
//access your route values here
string fName = RouteData.Values["Firstname"]; //John
string lName = RouteData.Values["Lastname"];  //Doe

ASP.NET 4.0中的Im Web应用程序。那我想@David给了你一个正确的参考,因为webforms是以文件为中心的,这意味着你看到的地址通常指向某个文件夹/子文件夹/file.aspx结构。关于在不重新加载页面的情况下发布,您需要设置Javascript,这可以使用Nice完成!我需要花更多的时间跟上当前的技术。