2013-09-26 122 views
1

VB:ASP按鈕不HANDELING點擊事件

Protected Sub edit_content_Click(sender As Object, e As System.EventArgs) Handles edit_content.Click 
    MsgBox("dasfaf") 
End Sub 

ASP:

<asp:TemplateField HeaderText="Edit"> 
    <ItemTemplate> 
     <asp:LinkButton ID="LinkButton3" runat="server">LinkButton</asp:LinkButton> 
     <a href="#" class="table-actions-button ic-table-edit" id="create-user"></a> 
    </ItemTemplate> 
    </asp:TemplateField> 


<div id="dialog-form" title="Edit Content" style="width:1001px;"> 
<div> 
    <asp:Button ID="edit_content" runat="server" Text="Edit Content" class="buttons" /> 
</div> 
</div> 

的jQuery:

$("#create-user").button().click(function() { 
$("#dialog-form").dialog("open"); 
}); 

我的問題是,我把一個asp按鈕jQuery的形式是abel做一些代碼在vb中點擊按鈕時......但問題是,當我點擊按鈕它不會去點擊事件。 ..如果我把按鈕之外的對話框一切正常......但我需要它在對話框中...

所以我怎麼能管理呢?

有什麼建議嗎?

回答

0

看起來像是一個問題。

雖然有一個解決方法。

將下面的Javscript代碼添加到頁面/控件中。

function Test2() { 
     <%=Page.ClientScript.GetPostBackEventReference(edit_content, "")%> 

    } 

而在你的HTML添加JavaScript調用: -

<asp:Button ID="edit_content" runat="server" OnClientClick="return Test2();" Text="Edit Content" class="buttons" /> 

它應該工作。

+0

我收到test2的()沒有定義..什麼辦? – User7291

+0

那麼你有沒有添加JavaScript功能的頁面或控制。我希望它的Test2()用大寫T – trelston

+0

你是什麼意思?我在我的頁面中添加了腳本正文中的函數 – User7291

1

你需要改變你的jQuery是這樣的:

$("#create-user").click(
    function() 
    { 
     var dlg = $("#dialog-form").dialog(); 
     dlg.parent().appendTo($("form:first")); 
    }); 

我測試過它,它正確地調用按鈕單擊事件服務器端。

更新:這是我用來測試這個的完整頁面,這是在ASP.net應用程序中創建的默認頁面。背後

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="false" 
    CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <script type="text/javascript" src="http://codeorigin.jquery.com/jquery-1.10.2.js"></script> 
    <script type="text/javascript" src="http://codeorigin.jquery.com/ui/1.9.2/jquery-ui.js"></script> 

    <input id="create-user" type="button" value="button" /> 

    <div id="dialog-form" title="Edit Content" style="width:1001px;"> 
     <div> 
      <asp:Button ID="Button1" runat="server" Text="Button" /> 
     </div> 
    </div> 

    <script type="text/javascript"> 
     $("#create-user").click(
      function() { 
       var dlg = $("#dialog-form").dialog(); 
       dlg.parent().appendTo($("form:first")); 
      }); 
    </script> 

</asp:Content> 

代碼:

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click 

    End Sub 
End Class 
+0

當我改變我的jQuery的對話框根本不打開,如果我添加對話框(「打開」)到jquery的對話框打開,但我不能使用任何工具,我怎麼能修復它? – User7291

+0

我已經用完整的源代碼列表更新了我的答案。 – Damon