好吧,在本教程中,它们在请求之间并没有真正“保存在内存中”。在每个请求中,该值被传递给 action 方法,然后该方法将其传递给视图,在该视图中用于创建分页和排序链接。
以前,当分页时,我没有单独添加每个参数,而是有一个方法来读取查询字符串并使用每个提供的参数构建链接:
NameValueCollection queryString = helper.ViewContext.HttpContext.Request.QueryString;
foreach (string key in queryString)
{
if (key != null)
{
if (!newValues.ContainsKey(key))
{
if (!string.IsNullOrEmpty(queryString[key]))
{
newValues[key] = queryString[key];
}
}
}
}
然后,要创建链接,我使用:
string link;
if (!string.IsNullOrEmpty(routeName))
{
link = helper.RouteLink(text, routeName, newValues).ToString();
}
else
{
actionName = actionName ?? values["action"].ToString();
controllerName = controllerName ?? values["controller"].ToString();
link = helper.ActionLink(text, actionName, controllerName, newValues, null).ToString();
}
return string.Concat(" ", link);