简体   繁体   English

如何在.aspx页面中调用jquery函数到asp.net中的usercontrols控件?

[英]how to call the jquery function in .aspx page to usercontrols controls in asp.net?

i have the following function in default.aspx.....i have webusercontrol which have 10 checkboxes and 1 button .... i want when i click on button1 of user control then it can access the function of default.aspx ...page ...if i dragged the usercontrol to default.aspx 我在default.aspx中具有以下功能.....我具有webusercontrol,其中具有10个复选框和1个按钮....我想当我单击用户控件的button1时,它可以访问default.aspx的功能。 .page ...如果我将用户控件拖动到default.aspx

Normally if i use 10 checkboxes and 1 button in default.aspx then it works fine ... if i use 10checkboxes and 1button in usercontrol then drag that usercontrol in default.aspx then it will not work .. 通常,如果我在default.aspx中使用10个复选框和1个按钮,那么它可以正常工作...如果在usercontrol中使用10checkboxes和1个按钮,然后在default.aspx中拖动该用户控件,则它将无法工作..

what was the problem ...how to fix this ? 这是什么问题...如何解决?

<%@ 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>

When you added the usercontrol to default.aspx, the ID of Button1 changed to userControl1_Button1 当您将usercontrol添加到default.aspx时,Button1的ID更改为userControl1_Button1

So you need to change $("#Button1").click(function() so that it will always have the correct name for the button: 因此,您需要更改$("#Button1").click(function() ,使其始终具有正确的按钮名称:

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

Try 尝试

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

A usercontrol implements INamingContainer Interface. 用户控件实现INamingContainer接口。 So in order to get the elements using id you need to get the runtime generated id by using .ClientID . 因此,为了使用id获取元素,您需要使用.ClientID获取运行时生成的id。

Try this one --> 试试这个->

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

ASPX: ASPX:

<%@ Register Src="~/UserControl/WebUserControl.ascx" TagName="ucCheckBox" TagPrefix="UC" %>

<UC:ucCheckBox ID="ucCheckBox" runat="server" />

JAVASCRIPT: JAVASCRIPT:

$(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;
        } 
    });
});

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

-------------------------------User control code-------------------------------------- -------------------------------用户控制代码---------------- ----------------------

UserControl: 用户控件:

<%@ 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" />

-------------------------------User control code-------------------------------------- -------------------------------用户控制代码---------------- ----------------------

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM