我使用数据表填充了一个列表框。
在另一种方法中,我必须从列表框中检索数据表。
Datatable dt = (DataTable)lstExample.DataSource;
引发错误,即Datatable dt is null
我正在研究c#ASP.Net
答案 0 :(得分:2)
如果您尝试在Postback上执行此操作,则DataTable将不再存在。如果要在回发上访问它,或者只是再次访问数据库,则需要将其保存在ViewState或Session中。
例如:
protected override Page_Load(object sender, EventArgs e)
{
if( !IsPostBack)
{
DataTable tbl = GetData();
lstData.DataSource = tbl;
lstData.DataBind();
// store in viewstate
ViewState["data"] = tbl;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
DataTable tbl = (DataTable)ViewState["data"];
}
答案 1 :(得分:0)
从()
lstExample.DataSource()