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中做一些代码...但问题是,当我点击按钮时它不会去点击事件...如果我把按钮放在对话框外面一切正常......但我需要在对话框中...
那我怎么能管理呢?
有什么建议吗?
答案 0 :(得分: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
答案 1 :(得分: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" />
它应该有用。