我的Gridview拒絕退出編輯模式。當我點擊更新鏈接時,儘可能地更新數據庫,但是Gridview行仍處於編輯模式。當我按下取消按鈕時,Gridview反映了新的信息。爲什麼即使在將EditIndex設置爲-1之後該行仍處於編輯模式?Gridview保持編輯模式
我確定這是一種真正的補救措施,但是我不能找到任何幫助獲得一個gridview出編輯模式,不只是告訴我設置編輯索引。
protected void Gridview_RowUpdating(object sender, GridViewUpdateEventArgs e) {
// Update code is here and works fine
try {
// this works and updates the database w/ no problems
ObjectDataSource.Update();
}
catch (Exception ex) {
}
Gridview.EditIndex = -1;
Gridview.DataBind();
}
編輯:我拿出try/catch語句並沒有什麼似乎失敗了,但我還是要顯式調用ObjectDataSource.Update()所以,這裏是我的GridView的設置:
<asp:Gridview ID="Gridview" runat="server" DataSourceID="ObjectDataSource" DataKeyNames="ID" OnDataBound="Gridiew_DataBound"
AutoGenerateColumns="false" OnRowCommand="Gridview_RowCommand" OnRowUpdating="Gridview_RowUpdating">
而ObjectDataSource控件
<asp:ObjectDataSource ID="ObjectDataSource" runat="server" TypeName="DAL.Class" SelectMethod="SelectMethod" UpdateMethod="UpdateMethod">
<UpdateParameters>
<asp:Parameter Name="param1" Type="Int32" />
<asp:Parameter Name="param2" Type="String" />
<asp:Parameter Name="param3" Type="String" />
<asp:Parameter Name="param4" Type="String" />
<asp:Parameter Name="param5" Type="String" />
<asp:Parameter Name="param6" Type="Int32" />
<asp:Parameter Name="param7" Type="String" />
<asp:Parameter Name="param8" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
那麼,什麼設置不正確,它不會自動更新?
編輯2: 因此,我現在將參數值設置在ObjectDataSource_Updating事件中(之前沒有調用這個參數值,這就是爲什麼我顯式調用了ods_update())。現在_Updating事件正在被擊中,但它永遠不會進入我的DAL方法。再一次,沒有錯誤拋出,它只是沒有做任何事情....
好的,我已經用aspx中設置的gridview/ods更新了原始文章。那麼,我做錯了什麼,阻止了它在row_updating中的顯式調用中更新呢? – user1744966 2013-03-10 18:24:01
嘗試刪除更新事件中的代碼。如果您想重置索引,請在更新的事件中執行。 – 2013-03-10 18:39:19
沒有區別。我真的不想重置索引,我只是這樣做,因爲它並不是獨立於編輯模式。我不明白爲什麼我不得不明確地調用update()以開始... – user1744966 2013-03-10 18:58:27