当前正在尝试增加对现有ASP的搜索。NET网站。我的背景是Java,所以如果我用Java编写服务器,我可以将传入的请求作为字符串处理,并根据我的意愿进行解析,去掉搜索词等。
ASP的哪个部分处理这个问题?我应该在哪里查找将传入字符串拆开以处理搜索请求的位置?有一个搜索按钮,可以将页面重定向到包含搜索参数的URL。这就是线索对我来说变冷的地方,因为我需要知道它从哪里回到服务器。
例如,一旦你审查了搜索词,它就会像这样提交:
Response.Redirect("~/shop?" + type + "=" + searchBoxContent);
"类型"是一种搜索类型,可以基于品牌或产品描述中的搜索等。
该网站已经在使用某种类型的url重写,因为当你进行搜索时,url不会显示任何.aspx。我应该在配置文件或.master.cs文件中查找,或者在哪里指向正确的方向?
最简单的系统是ASP。NET MVC,它有一个内置的路由和参数处理程序。
有关文档,请参阅MSDN。
示例:
{controller}/{action}/{id}
可以重定向到控制器操作:
public ActionResult Find(int id)
{ ... }
如果这不是你想要的,看看Scott Guthrie关于URL重写的博客文章。
如果您有这样的URL:
/shop.aspx?type=abc
则可以使用Request。QueryString获取type
的值。这是语法:
Request.QueryString["type"]
例如,如果你想在第一次加载/shop.aspx?type=abc
时获得值,那么你应该在代码后面(shop.aspx.cs
)的Page_Load
方法中添加这个代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// assign 'type' query string to typeOfSearch
string typeOfSearch = Request.QueryString["type"];
}
}