想从外部按钮

时间:2016-08-04 19:57:23

标签: asp.net

我在ASP.Net Webforms中工作,我有一个DetailsView,它的最后一个模板是Update和Cancel按钮:

<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之外。但是,在这样做时,我失去了触发OnItemUpdating处理程序的能力。我可以在按钮上添加OnClick处理程序,但是我丢失了DetailsViewUpdateEventArgs数据,并且它没有调用验证器。

所以,我想,“为什么没有在DetailsView外面有一个按钮来调用DetailsView里面的按钮上的.click()?”。所以我连接了另一个按钮,使当前的Update按钮不可见(通过'style="display: none;"')并将外部按钮的OnClientClick设置为找到内部按钮并调用.click()处理程序的函数它。我已经测试了这个功能,并且它按照它应该的方式工作,因为它找到了正确的按钮。但它仍然不会触发OnItemUpdating处理程序。

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

1 个答案:

答案 0 :(得分:0)

根据我的测试,模拟LinkBut​​ton上的点击不会触发回发。您应该用隐藏的按钮替换隐藏的 LinkBut​​ton

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