use*_*808 1 asp.net session caching
刚刚登上asp.net船.
我有一个asp.net页面,最初在带有分页的gridview中显示一些数据(数据集作为其数据源).而且,几乎没有文本框可以执行插入或更新(不要询问gridview本身的编辑/插入选项!!).
关于存储数据集的正确位置,我需要很少的指导.
我发布了简化的代码隐藏文件,它使用viewstate存储数据集,我不喜欢.
enter code here
class xyx : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridBind();
}
}
protected void InsertUpdateButton_Click(object sender, EventArgs e)
{
1.perform insert or update data in the database
2.GridBind();
}
protected void GridView1_PageIndexChanged(object sender, EventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.SelectedIndex = -1;
GridView1.DataSource = (DataSet)ViewState["DataSet"];
GridView1.DataBind();
}
private void GridBind()
{
DataSet ds = getDataFromDataBase();
GridwView1.DataSource = ds;
GridView1.DataBind();
ViewState["DataSet"] = ds;
}
}
Run Code Online (Sandbox Code Playgroud)
现在除了viewstate之外,存储数据集的最佳选择是什么?...
每次都从数据库中获取数据
对所有页面中的所有数据集使用公共会话变量Session ["DataSet"](我有一些具有相同场景的其他页面)
使用缓存
我包括会话或缓存,因为用户可能只是在查看数据而不是插入或更新.
另外,在Button click事件中而不是调用GridBind(),如果我刚刚更新了viewstate中的数据集而不是从数据库中再次获取数据,那么可以吗?
喜欢 -
DataSet ds = ViewSate["DataSet"] (or) Session["DataSet"] (or) Cache["DataSet"];
(perform updations or insertions upon the dataset)
Session(or)Cache(or)ViewState["DataSet"] = ds;
Run Code Online (Sandbox Code Playgroud)
通常:
SessionCache或Application如果您希望每个用户存储大量数据,请不要使用会话 - 您可能会耗尽内存.
| 归档时间: |
|
| 查看次数: |
7691 次 |
| 最近记录: |