我有几个旧网站,我想添加路由参数。它们是在没有使用mvc的情况下编码的,所以没有带有方便的MVC设置的global.asax。
目前我的网页上有一个带有搜索功能的网址abc.com/xyz。我可以输入一个查询,它会将我发送到另一个页面但它具有相同的URL。我想这样做,如果我把一些变体的网址abc.com/xyz?search='what_You_Query',它给了我搜索页面。现在,url将我发送到我输入查询的页面。
该网站使用C#和html编码,并保存在aspx文件中。网页还使用了jscripts
我很感激我能得到任何帮助
编辑:似乎有些混乱,有一个搜索框允许用户在网页上查询。我想要的是允许用户直接链接到搜索过的页面。
答案 0 :(得分:0)
您需要在页面加载时捕获它 - 检查查询字符串(https://msdn.microsoft.com/en-us/library/ms524784%28v=vs.90%29.aspx),如果搜索在其中,则重定向到搜索页面。
修改为包含更多详细信息
我假设您正在使用Web表单(Microsoft替代MVC)。您需要添加服务器端(http://www.seguetech.com/blog/2013/05/01/client-side-server-side-code-difference)Page_Load事件(https://msdn.microsoft.com/en-us/library/6w2tb12s.aspx)。代码看起来像这样:
protected void Page_Load(object sender, EventArgs e)
{
if(Request.QueryString["search"] != null)
Response.Redirect("/search?" + UrlEncode(Request.QueryString["search"]), true);
}
请注意我没有测试过这段代码,而且我在这里有点记忆 - 但这应该可以解决问题。