2013-07-16 68 views
1

按鈕在列表視圖中,在對話框中打開,沒有觸發按鈕點擊事件。下面是相關代碼:按鈕在列表視圖中,在對話框中打開,沒有觸發按鈕點擊事件

<div id="AssetsListView"> 

<asp:ListView ID="lstviewAssetAssign" runat="server"> 

<LayoutTemplate> 

      <asp:Button ID="btnSaveAssetAssignFromListView" runat="server" Text="Save" OnClick="btnSaveAssetAssignFromListView_Click" /> 
      <asp:Button ID="btnClearCheckboxesFromListView" runat="server" Text="Clear" OnClick="btnClearCheckboxesFromListView_Click" /> 

</LayoutTemplate> 

</asp:ListView> 
</div> 

我使用打開此列表視圖在一個對話框:

$(document).ready(function() { 

     $("#AssetsListView").dialog({ 
      autoOpen: false, 
      show: "show", 
      hide: "hide", 
      modal: true, 
      draggable: false, 
      resizable: false, 
      width: 750 
     }); 

     $(".gridviewbutton").unbind("click"); 
     $(".gridviewbutton").bind("click", function() { 
      $("#AssetsListView").dialog("open"); 
     }); 

,這裏是事件處理程序聲明:

protected void btnSaveAssetAssignFromListView_Click(object sender, EventArgs e) 
    { 
     // Some Code here    
    } 

    protected void btnClearCheckboxesFromListView_Click(object sender, EventArgs e) 
    { 
     // Some code here 
    } 

我嘗試添加斷點在事件處理程序的開始,並且非常確定這些事件不會在按鈕單擊時被觸發。

一些幫助將不勝感激,謝謝。

+0

我的答案是否適合你? –

+0

嗨,感謝您提前回答並抱歉不回覆。我v現在改變了我的工作,但我認爲你的答案在當時是相關的:) – NikhilBanerjee

+0

祝你好運,新的工作。 –

回答

1

jQuery ui對話框呈現外部 頁面的<form runat='server'></form>標記,因此不會觸發任何服務器端事件。您需要附加對話框,當它打開時,表單元素。

如果正在使用jQuery UI版本>1.10.0,它們提供了一個appendTo選項

$(".selector").dialog({ appendTo: "form" }); 

否則,

$('.selector').dialog({ 
     open:function(){{ 
     $(this).parent().appendTo($("form")); 
    }} 
}); 

在上面的代碼,form表示用於<form></form>元件適當選擇在你的aspx頁面上。

相關問題