刚刚登上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 …
这是交易:
表A具有列A1和A2
表B具有列B1,B2,B3
现在我想从列A1和B1(没有连接)中选择数据,条件是: -
B3 ='someword',A2 = B2
如果不需要打印B1,我会将查询(不加入)写成:
select A1 from A where A2 in (select B2 from B where B3='someword');
Run Code Online (Sandbox Code Playgroud)
但我需要打印A1和B1,所以有可能不使用连接和使用'IN'???