我的 Gridview 拒绝退出编辑模式。当我点击更新链接时,一切正常,就正在更新的数据库而言,但 Gridview 行仍处于编辑模式。当我按下取消按钮时,Gridview 会反映新信息。为什么即使将 EditIndex 设置为 -1,该行仍处于编辑模式?
我确定这确实是一种补救措施,但我找不到任何帮助让 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 方法。同样,没有错误被抛出,它只是不做任何事情......