我有一个asp.net mvc应用程序。有一个搜索表单,有时用户搜索非常长的字符串。由于查询参数长度有限制,我做了以下内容。
这在所有浏览器中都运行良好。像往常一样IE在以下场景中引起问题:)。
如果用户更频繁地使用搜索功能,IE会将结果页面添加到频繁出现的“新标签页”的图块中(请参阅Screen shot)。由于结果页面仅为POST,因此每当用户单击该磁贴时,就会出现404错误,并且用户对此感到恼火。
是否有任何元标记或javascript告诉IE不要将此特定页面添加到收藏夹磁贴?或者将主页添加到磁贴而不是搜索页面?
注意:我知道如果我允许GET请求,404错误将消失,但我不想这样做。否则,我必须处理此问题并重定向页面。
编辑:我试过谷歌,但我找不到任何有用的信息
答案 0 :(得分:0)
假设这是你的POST动作:
[HttpPost]
public ActionResult Search(string p)
{
var results = SearchResults(p);
return View("Results", results);
}
您可以使用动词GET添加另一个动作方法,如下所示:
[HttpGet]
public ActionResult Search()
{
return View();
}
这样,如果用户点击了图块,他们就会被重定向到“搜索”页面,准备开始在搜索表单中输入内容。