如何从另一个按钮保存编辑模式下的详细视图

时间:2012-11-30 03:19:37

标签: asp.net

有没有办法从另一个不属于DetailView的按钮保存处于编辑模式的详细视图?换句话说,我有一个处于编辑模式并具有“保存”或“更新”按钮的详细视图,但有时用户忘记单击“保存”按钮,他们只需继续并单击页面底部的另一个按钮。我想确保他们在DetailView中输入的数据在他们点击另一个按钮时首先保存。 我有这个命令名称:

<EditItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="True" 
                            CommandName="Update" Text="Save Changes" />
                        &nbsp;<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>  

这是我在你提出建议后所做的事情:

1 个答案:

答案 0 :(得分:1)

根据他们点击的其他按钮,可能有效的一种方法是让其他按钮在执行操作之前单击更新按钮。但是,如果另一个按钮发回服务器,则其中一个可能无法正常工作。

如果另一个按钮是asp:Button,那么你可以添加以下标签(请注意,因为你要添加javascript,你需要获得Button1的客户端ID - 我通常用前缀来做这个,因为我可以永远不会记得如何在服务器标签内获取ClientID:

OnClientClick="document.getElementById('MainContent_DetailsView2_Button1').click();"

您需要此前缀,因为ASP会自动创建嵌套在父控件内的唯一ID。