Javascript 如何调用.aspx页面中的jquery函数来访问asp.net中的usercontrols?

Javascript 如何调用.aspx页面中的jquery函数来访问asp.net中的usercontrols?,javascript,asp.net,jquery,vb.net,visual-studio-2008,Javascript,Asp.net,Jquery,Vb.net,Visual Studio 2008,我在default.aspx中有以下函数…我有webusercontrol,它有10个复选框和1个按钮。。。。我希望当我点击用户控件的按钮1时,它可以访问default.aspx…page…的功能,如果我将用户控件拖到default.aspx 通常情况下,如果我在default.aspx中使用10个复选框和1个按钮,那么它可以正常工作。。。如果我在usercontrol中使用10个复选框和1个按钮,然后在default.aspx中拖动该usercontrol,则它将不起作用 问题是什么…如何解决

我在default.aspx中有以下函数…我有webusercontrol,它有10个复选框和1个按钮。。。。我希望当我点击用户控件的按钮1时,它可以访问default.aspx…page…的功能,如果我将用户控件拖到default.aspx

通常情况下,如果我在default.aspx中使用10个复选框和1个按钮,那么它可以正常工作。。。如果我在usercontrol中使用10个复选框和1个按钮,然后在default.aspx中拖动该usercontrol,则它将不起作用

问题是什么…如何解决

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<%@ Register src="WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <uc1:WebUserControl ID="WebUserControl1" runat="server" />

    </div>
    </form>
     <script src ="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
      <script type="text/javascript">

      $("#'<%=Button1.ClientID %>'").click(function(){

    var vCheckedCBCount =  $("input:checkbox").filter(function(index){ 
    return $(this)[0].checked == true;
    }).length;
    if(vCheckedCBCount > 1)
    {
        alert('You cannot check more than 1 check box.');
        return false;
    } 
});
 </script >
   </body>
</html>

将usercontrol添加到default.aspx时,Button1的ID更改为userControl1\u Button1

因此,您需要更改$Button1.clickfunction,使其始终具有按钮的正确名称:

$("# + <%=Button1.ClientID %> +").click(function()
试一试

实现接口。因此,为了使用id获取元素,您需要使用.ClientID获取运行时生成的id。

试试这个->

------------------ASPX代码---------------------------------------

ASPX:

------------------ASPX代码---------------------------------------

----------------用户控制代码-------------------

用户控制:


----------------用户控制代码-----------------

您需要更新问题以显示声明按钮1的html。我更新了ny default2.aspx页面,在该页面中我拖动了用户控制。了解更新的代码为什么使用此选项?我可以在usercontrol中直接使用它吗?就像在aspx页面中注册WebUserControl一样。在我的示例中,TagName=ucCheckBox TagPrefix=UC,在您的示例中,TagName=WebUserControl TagPrefix=uc1。请参阅您的问题。将所有复选框和按钮控件都放在usercontrol中。
$("#'<%=Button1.ClientID %>'").click(function(){
});
<%@ Register Src="~/UserControl/WebUserControl.ascx" TagName="ucCheckBox" TagPrefix="UC" %>

<UC:ucCheckBox ID="ucCheckBox" runat="server" />
$(document).ready(function(){

    $("input:submit[id$='btnSubmit']").click(function(){

        var vCheckedCBCount =  $("input:checkbox").filter(function(index){
        return $(this)[0].checked == true;
        }).length;
        if(vCheckedCBCount > 5)
        {
            alert('You cannot check more than 5 check box.');
            return false;
        } 
    });
});
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="UserControl_WebUserControl" %>
<asp:CheckBox ID="CheckBox1" runat="server" /><br />
<asp:CheckBox ID="CheckBox2" runat="server" /><br />
<asp:CheckBox ID="CheckBox3" runat="server" /><br />
<asp:CheckBox ID="CheckBox4" runat="server" /><br />
<asp:CheckBox ID="CheckBox5" runat="server" /><br />
<asp:CheckBox ID="CheckBox6" runat="server" /><br />
<asp:CheckBox ID="CheckBox7" runat="server" /><br />
<asp:CheckBox ID="CheckBox8" runat="server" /><br />
<asp:CheckBox ID="CheckBox9" runat="server" /><br />
<asp:CheckBox ID="CheckBox10" runat="server" /><br />
<asp:Button ID="btnSubmit" runat="server" Text="Continue" />