2016-08-04 78 views
1

我在ASP.Net Web表單工作觸發一個DetailsView內更新按鈕,我有了一個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之外。但是,在這樣做時,我失去了觸發OnItemUpdating處理程序的能力。我可以將一個OnClick處理程序添加到按鈕,但然後我失去了DetailsViewUpdateEventArgs數據,它不會調用驗證程序。所以,我想,「爲什麼沒有在DetailsView之外有一個按鈕來調用DetailsView中的按鈕上的.click()?」。所以我連接了另一個按鈕,使當前的Update按鈕不可見(通過'style="display: none;"'),並將外部按鈕的OnClientClick設置爲一個函數,該函數可以找到內部按鈕並調用其上的.click()處理函數。我測試過這個功能,它正在按照它應該的方式工作,因爲它找到了正確的按鈕。但它仍然不會觸發OnItemUpdating處理程序。

關於我可能會做錯什麼想法?或者更好的方法從外部按鈕觸發該按鈕(在DetailsView內部)?

回答

0

根據我的測試,模擬點擊LinkBut​​ton不會觸發回發。你應該通過一個隱藏的按鈕替換隱藏的LinkBut​​ton

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

真棒,看起來像固定它,謝謝! – DukeBrymin