Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
C# 在ASP.NET中处理传入请求URL_C#_Asp.net_Url Parsing - Fatal编程技术网

C# 在ASP.NET中处理传入请求URL

C# 在ASP.NET中处理传入请求URL,c#,asp.net,url-parsing,C#,Asp.net,Url Parsing,当前正在尝试增强对现有ASP.NET站点的搜索。我的背景是Java,因此,如果我用Java编写服务器,我可以将传入的请求作为字符串处理,然后根据需要解析它,去掉搜索词,等等 ASP的哪个部分可以处理这个问题?我应该在哪里查找传入字符串的分离位置以处理搜索请求?有一个搜索按钮,可将页面重定向到包含搜索参数的URL。这就是线索对我来说变冷的地方,因为我需要知道它从哪里回到服务器 例如,一旦您审查了搜索词,它就会像这样提交: Response.Redirect("~/shop?" + type + "

当前正在尝试增强对现有ASP.NET站点的搜索。我的背景是Java,因此,如果我用Java编写服务器,我可以将传入的请求作为字符串处理,然后根据需要解析它,去掉搜索词,等等

ASP的哪个部分可以处理这个问题?我应该在哪里查找传入字符串的分离位置以处理搜索请求?有一个搜索按钮,可将页面重定向到包含搜索参数的URL。这就是线索对我来说变冷的地方,因为我需要知道它从哪里回到服务器

例如,一旦您审查了搜索词,它就会像这样提交:

Response.Redirect("~/shop?" + type + "=" + searchBoxContent);
/shop.aspx?type=abc
“类型”是搜索的类型,因此可以基于品牌或产品描述内的搜索等


该站点已经在使用某种类型的url重写,因为当您进行搜索时,url没有显示任何.aspx。我应该查看配置文件还是.master.cs文件,或者将我指向正确的方向?

最简单的系统是ASP.NET MVC,它具有内置的路由和参数处理程序

有关文档,请参阅

例如:

{controller}/{action}/{id}
可以重定向到控制器操作:

public ActionResult Find(int id)
{ ... }

如果这不是您想要的,请查看Scott Guthrie关于URL重写的介绍。

如果您有这样的URL:

Response.Redirect("~/shop?" + type + "=" + searchBoxContent);
/shop.aspx?type=abc
然后,您可以使用“获取
类型的值”
。以下是语法:

Request.QueryString["type"]
例如,如果您想在第一次加载
/shop.aspx?type=abc
时获取值,那么您应该在
Page\u Load
方法中将此代码添加到代码隐藏(
shop.aspx.cs
)中:


你说的是ASP.NET Webforms还是ASP.NET MVC?@ekad是Webforms。不幸的是,这是一个现有的项目,因此我没有选择MVC。您是否尝试过为此使用HttpModule?这会迫使OP使用shop.aspx,正如您所说的,但是+1。我意识到现在我可能问了一个不可能的问题,因为似乎没有像在其他框架中那样,ASP处理请求URL的关键“岔路口”。@ekad感谢您的输入,但我必须处理一个现有的应用程序,所以我没有按照您的建议去做的自由。我只需要跟踪现有的代码并修改它。这就是我现在的问题所在,我找不到已经处理的部分。@GenericJam您可以尝试检查web.config并查看是否有任何重写规则,或者在
Application\u BeginRequest
方法中检查global.asax,可能url重写在其中任何一个中。+1用于博客文章。答案可能在某个地方,但我可能只需要问问最初编写它的人,他把处理搜索的代码放在哪里,因为它可以在多个位置访问。我同意MVC可能是更好的选择,但我现在被这辆马车束缚住了。