我想知道将数据从sql db填充到页面(使用webforms)的最佳方法是什么,如果我想看起来像表格或gridview,我可以双击每一行并打开一个新窗口使用sql db中针对该特定行的一些数据?
每次双击每一行时,我都不想查看数据库,因此我希望第一次获取的数据保留整个会话。
这个场景是否有任何简洁的教程?
祝你好运 Joe the noob
答案 0 :(得分:0)
将数据从数据库中取出并放入DataTable
或DataView
(如果要存储多套) - 暂时坚持使用DataTables
。
如果您希望对象在回发之间保持不变,则可以使用ViewSatate["myDataTable"] = myDataTableObject
或Session["myDataTable"] = myDataTableObject
。我倾向于使用Session
,因为我很老式,有时我会将数据移到另一页。
所以你想在Page_Load
var myDataTable = new DataTable();
if (!IsPostBack)
{
Session["myDataTable"] = null;
//clear the session on a fresh page view and probably you
//want code here to go get the data from the database, ie:
myDataTable = GetDataFromDatabase();
}
else
{
if (Session["myDataTable"] != null)
{
myDataTable = (DataTable)Session["myDataTable"];
}
else
{
myDataTable = GetDataFromDatabase();
}
}
private DataTable GetDataFromDatabase()
{
//returns DataTable populated from Database
}
你会想要改进上面的内容,它不是理想的代码,只是用这种方式来描述这个想法。此外,您需要在刷新数据时清除对象,现在要小心,因为这可以很容易让自己绊倒。