我有一個Click事件填充DataTable和DataTable是我的GridView的源。堅持DataTable或GridView數據源
然後我有嘗試獲取GridView控件的DataSourceË另一個click事件轉換回一個DataTable像:
DataTable dt = (DataTable)GridView1.DataSource;
但數據源返回null。事件如果我把代碼和Page_Init事件等待合適的回發
,所以我想知道我能堅持在GridView的數據源,或數據表
編輯的要求:
這裏是整個代碼:
PS:在Page_Init是另一個嘗試獲取數據源
private DataTable _dataTable;
public DataTable dataTable
{
get { return _dataTable; }
set { _dataTable = value; }
}
protected void Page_Init(object sender, EventArgs e)
{
if(Page.IsPostBack)
{
string ctrlname = BLL.Common.GetPostBackControlId(this.Page);
if(ctrlname == "ButtonDownload")
{
DataTable dt = (DataTable)GridView1.DataSource;
}
}
}
protected void Filter_Click(object sender, EventArgs e)
{
string[] status = new string[2];
status[0] = "Paga";
status[1] = "Disponivél";
dataTable = BLL.PagSeguro.GetTransactions(TextBoxInicio.Text, TextBoxFim.Text, status);
GridView1.DataSource = dataTable;
GridView1.DataBind();
}
protected void GetDataSource(object sender, EventArgs e)
{
DataTable dt = (DataTable)GridView1.DataSource;
}
您可以顯示事件和您設置數據源的代碼嗎? –
編輯帖子的代碼 – ShadowG
我明白你在做什麼;您正試圖將數據保存在頁面生命週期之外;而我在下面提供的代碼將幫助您到達那裏,但需要重新加載數據。 –