Asp.net 想从外部按钮触发DetailsView中的Update按钮

Asp.net 想从外部按钮触发DetailsView中的Update按钮,asp.net,Asp.net,我在ASP.Net Webforms中工作,我有一个DetailsView,它的最后一个模板有更新和取消按钮: <EditItemTemplate> <asp:LinkButton ID="MyUpdateButton" CommandName="Update" Text="Update" runat="server"></asp:LinkButton> <asp:LinkButton ID="MyCancelButton" Comman

我在ASP.Net Webforms中工作,我有一个DetailsView,它的最后一个模板有更新和取消按钮:

<EditItemTemplate>
    <asp:LinkButton ID="MyUpdateButton" CommandName="Update" Text="Update" runat="server"></asp:LinkButton>
    <asp:LinkButton ID="MyCancelButton" CommandName="Cancel" Text="Cancel" CausesValidation="false" runat="server"></asp:LinkButton>
</EditItemTemplate>

为了美观起见,我想将这些按钮移到DetailsView之外。但是,在这样做时,我失去了触发mupdating处理程序的能力。我可以在按钮上添加一个
OnClick
处理程序,但随后我会丢失
DetailsViewUpdateEventArgs
数据,并且它不会调用验证程序

因此,我想,“为什么不在DetailsView外部设置一个按钮,在DetailsView内部的按钮上调用.click()?”。因此,我连接了另一个按钮,使当前的更新按钮不可见(通过
'style=“display:none;”“
),并将外部按钮的
OnClientClick
设置为一个函数,该函数将查找该内部按钮并对其调用.click()处理程序。我已经测试了这个功能,它的工作方式应该是这样的,因为它找到了正确的按钮。但是它仍然不会触发
升级
处理程序


有没有想过我可能做错了什么?或者从外部按钮触发该按钮(DetailsView内部)的更好方法?

根据我的测试,模拟单击链接按钮不会触发回发。您应该将隐藏的链接按钮替换为隐藏的按钮

<asp:Button ID="MyUpdateButton" CommandName="Update" Text="Update" style="display: none;" runat="server" />

根据我的测试,模拟点击链接按钮不会触发回发。您应该将隐藏的链接按钮替换为隐藏的按钮

<asp:Button ID="MyUpdateButton" CommandName="Update" Text="Update" style="display: none;" runat="server" />