Javascript 如何调用.aspx页面中的jquery函数来访问asp.net中的usercontrols?
我在default.aspx中有以下函数…我有webusercontrol,它有10个复选框和1个按钮。。。。我希望当我点击用户控件的按钮1时,它可以访问default.aspx…page…的功能,如果我将用户控件拖到default.aspx 通常情况下,如果我在default.aspx中使用10个复选框和1个按钮,那么它可以正常工作。。。如果我在usercontrol中使用10个复选框和1个按钮,然后在default.aspx中拖动该usercontrol,则它将不起作用 问题是什么…如何解决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,则它将不起作用 问题是什么…如何解决
<%@ 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" />