在 ASP.NET MVC 中,当使用 return View(model) 返回一个视图时,会清除当前请求的查询字符串。这是因为许多开发人员(包括我自己)默认认为视图只需要访问模型数据,而不需要访问查询字符串数据。
如果你需要在视图中访问查询字符串数据,可以将查询字符串保存在 TempData 中,然后将 TempData 传递给视图。这样就能在视图中访问查询字符串数据。下面是一个示例代码:
// 控制器方法 public ActionResult Index() { string query = Request.QueryString["query"]; TempData["query"] = query; return View(); }
// 视图 @if (TempData["query"] != null) {
查询字符串:@TempData["query"]
}这样,即使使用 return View() 返回视图,也能在视图中访问查询字符串数据。