0

有没有办法从不属于DetailView的另一个按钮保存处于编辑模式的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>  

这是我在您提出建议后所做的:

4

1 回答 1

1

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

如果另一个按钮是 asp:Button,那么您可以添加以下标签(请注意,由于您要添加 javascript,因此您需要获取 Button1 的客户端 ID - 我通常使用前缀来执行此操作,因为我永远不记得如何获取服务器标签内的 ClientID):

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

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

于 2012-11-30T03:26:26.627 回答