首先,我意识到如何通过相同的答案多次询问如何避免两次点击的问题 - "重新绑定gridview" (例如here和here)。但是,我在解释为什么后会发生这种情况,以及是否有替代解决方案。
使用Gridview时,点击编辑按钮会触发OnRowEditing
事件,但在第二次点击{{1}时,对gridview没有任何可视更改再次执行,但这次返回时,GridView行现在可以编辑,并具有更新和取消按钮。
如果在OnRowEditing
方法中有OnRowEditing
的手动DataBind()
,则不需要再次点击。
为什么会这样?
所以,情景:
GridView的:
gridview
CodeBedhind:
<asp:GridView ID="gvMain" runat="server"
OnRowEditing="gvMain_RowEditing"
OnRowCancelingEdit="gvMain_RowCancelingEdit"
OnRowUpdating="gvMain_RowUpdating">
<Columns>
<asp:CommandField ShowEditButton="true" EditText="Edit" />
<asp:BoundField DataField="location" HeaderText="Location" />
</Columns>
</asp:GridView>