0

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

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

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

Response.Redirect("~/shop?" + type + "=" + searchBoxContent);

“类型”是搜索的类型,因此可以基于品牌或在产品描述中搜索等。

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

4

2 回答 2

1

如果您有这样的网址:

/shop.aspx?type=abc

然后您可以使用Request.QueryString获取type. 这是语法:

Request.QueryString["type"]

例如,如果你想/shop.aspx?type=abc在第一次加载时获取值,那么你应该Page_Load在( shop.aspx.cs)后面的代码里面的方法中添加这个代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // assign 'type' query string to typeOfSearch
        string typeOfSearch = Request.QueryString["type"];
    }
}
于 2014-01-19T14:45:18.047 回答
1

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

有关文档,请参阅MSDN

例子:

{controller}/{action}/{id}

可以重定向到控制器操作:

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

如果这不是您想要的,请查看 Scott Guthrie 关于 URL 重写的这篇博客文章

于 2014-01-19T14:14:51.770 回答