2011-08-11 67 views
0

我有一個有更新面板的asp.net web應用程序。 更新面板裏面我有一個網格視圖控件。 在網格視圖控件我有兩個按鈕注意能見度:圖像按鈕不啓動jQuery /回發後第一次回發?

<ItemTemplate> 
    <asp:ImageButton class="DeleteLineItem" style="display:none;" ID="ibDelete2" runat="server" CommandName="DeleteRow" ImageUrl="images/d.gif" ToolTip="Delete Line Item?" /> 
    <asp:ImageButton class="TempDeleteLineItem" ID="ibTempDelete" OnClientClick="return false;" runat="server" ToolTip="Delete Line Item?" ImageUrl="images/d.gif" /> 
</ItemTemplate> 

通知首當其衝顯示設置爲none的原因,我這是你會發現第二個具有的OnClientClick =「返回false; 」。當我點擊id爲idTempDelete的按鈕時,它會調用一些jquery從我的gridview中刪除一行,然後觸發ibDelete2按鈕(隱藏的)的點擊事件。對於jQuery的是在這裏:

$(".TempDeleteLineItem").click(function() { 
    $(this).closest("tr").fadeOut(3000, function() { 
     alert('hi'); 
     __doPostBack($(this).closest ('tr').find ('.DeleteLineItem').attr('name'), ""); 
     $(this).remove(); 
    }); 
}); 

我發現該行並淡出出來,通過調用DeleteLineItem事件和刪除行做回發。現在當我第一次加載我的網頁時(假設網格視圖中有3條記錄)。當我的頁面加載時,我可以輕鬆地點擊ibTempDelete按鈕,它調用jquery,淡出該行,發出警報嗨,回發帖並刪除該行......它的工作基本上!太好了,我的問題是什麼?

我的問題是這個帖子後立即(現在我有2行在我的gridview),如果我嘗試點擊ibTempDelete按鈕沒有任何反應,它似乎不再可點擊?警報甚至不顯示。

所以我的問題是我對asp.net和回發的工作方式缺乏理解。只要我點擊第一個回覆,爲什麼該按鈕不再可點擊?

回答

0

尚卡爾幫我在聊天過程中,我們結束了這樣:

$(".TempDeleteLineItem").live('click', function() { 
    var $this = $(this); 
    $(this).closest("tr").fadeOut(1000, function() { 
     $(this).hide(); 
     $this.prev('.DeleteLineItem').click(); 
    }); 
    return false; 
}); 
2

當您撥打__doPostBack該頁面無論如何都將被刷新爲什麼要撥打$(this).remove()。可能是你打電話給__doPostBack之前。即使在回發之後,頁面仍然新加載時,事件處理程序應該照原樣運行。嘗試使用現場。

$(".TempDeleteLineItem").live('click', function() { 
    $(this).closest("tr").fadeOut(3000, function() { 
     $(this).hide().find('.DeleteLineItem').click(); 
    }); 
}); 
+0

尚卡爾 - 你是對的abotu的刪除其不必要的,這又是半路正常工作。問題是我似乎無法理解我創建新行/從gridview刪除所有行時遇到的奇怪問題。由於這個jquery/postback通過客戶端,系統變得無響應。是否有可能我們可以聊天交談,以便我可以與你討論這個問題? – oJM86o

+0

是的,我們可以聊天 – ShankarSangoli

+0

這裏是房間http://chat.stackoverflow.com/rooms/2376/jquery-help-for-ojm86o – oJM86o