我正在制作一个简单的 asp.net 应用程序,它显示可以根据几个不同参数过滤的数据。因此,当前选择的不同过滤器需要保存在某处。我对 .NET 还很陌生,我想知道保存这些信息的最佳方式。我注意到一位同事将 Request.QueryString 与 Sessions 字典结合使用。页面加载时是这样的:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Category"] != null &&
Request.QueryString["Value"] != null)
{
string Category = Request.QueryString["Category"];
string CategoryValue = Request.QueryString["Value"];
// selectedFacets is the server side dictionary
selectedFacets.Add(Category, CategoryValue);
}
}
当用户按下网页上的按钮时,此处的 QueryString 会更改,从而更新 URL。
我的问题是,当我们使用 QueryString 只是为了保存价值服务器端时,为什么还要打扰它呢?不仅使按钮成为 asp 控制器更容易,例如:
protected void exampleCatexampleVal_Button_onClick(object sender, EventArgs e)
{
selectedFacets.Add(exampleCat, exampleVal);
}
Sessions 字典也有类似的业务:它只是用来将一堆值保存到服务器上的变量中,那么为什么要首先使用它呢?我相信这是有充分理由的,但现在他们的工作似乎过于复杂。谢谢!