1

VB:

 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");
});

我的问题是我在 jquery 表单中放置了一个 asp 按钮,以便在单击按钮时在 vb 中执行一些代码...但问题是当我单击按钮时它不会转到单击事件...如果我将按钮放在对话框之外,一切正常...但我需要在对话框中...

那么我该如何管理呢?

有什么建议么?

4

2 回答 2

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
于 2013-09-26T15:42:32.773 回答
0

看起来这是一个问题。

不过,有一个解决方法。

将以下 JavaScript 代码添加到页面/控件。

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

    }

并在您的 html 中添加 javascript 调用:-

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

它应该工作。

于 2013-09-26T15:02:09.360 回答