有没有办法从另一个不属于DetailView的按钮保存处于编辑模式的详细视图?换句话说,我有一个处于编辑模式并具有“保存”或“更新”按钮的详细视图,但有时用户忘记单击“保存”按钮,他们只需继续并单击页面底部的另一个按钮。我想确保他们在DetailView中输入的数据在他们点击另一个按钮时首先保存。 我有这个命令名称:
<EditItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True"
CommandName="Update" Text="Save Changes" />
<asp:Button ID="Button2" runat="server" CausesValidation="False"
CommandName="Cancel" Visible="false" Text="Cancel" />
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False"
CommandName="Edit" Text="Save Changes" />
</ItemTemplate>
这是我在你提出建议后所做的事情:
答案 0 :(得分:1)
根据他们点击的其他按钮,可能有效的一种方法是让其他按钮在执行操作之前单击更新按钮。但是,如果另一个按钮发回服务器,则其中一个可能无法正常工作。
如果另一个按钮是asp:Button,那么你可以添加以下标签(请注意,因为你要添加javascript,你需要获得Button1的客户端ID - 我通常用前缀来做这个,因为我可以永远不会记得如何在服务器标签内获取ClientID:
OnClientClick="document.getElementById('MainContent_DetailsView2_Button1').click();"
您需要此前缀,因为ASP会自动创建嵌套在父控件内的唯一ID。