繁体   English   中英

如何从javascript方法访问用户控件中的gridview控件

[英]How to access the gridview control in a usercontrol from a javascript method

我正在尝试从javascript方法访问用户控件,并在该控件中找到gridview来检查在gridview上选中的复选框的数量。 但是,当我尝试从JS方法中的usercontrol获取gridviews ID时,它显示错误:此名称在当前上下文中不存在。 以下是我编写的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Test.Web.uc"
MasterPageFile="~/SiteMain.Master" EnableEventValidation="false" %>

<%@ Register Src="~/UserControls/UC1.ascx" TagName="uctest" TagPrefix="uc" ID="gv_uc" %>

<script type="text/javascript">
function FindCheckBox()
{
   var checkBoxSelector = document.getElementById('<%=gv_uc.("gvgridname").ClientID%>');
}
</script>

gvgridname是用户控件上的gridview。

在父页面上,您可以具有JavaScript函数,该函数接受UserControl中的ClientID变量。

<script type="text/javascript">
    function FindCheckBox(ID) {
        var checkBoxSelector = document.getElementById(ID);
    }
</script>

然后,可以在UserControl中使用正确的ID调用该函数。

<input type="button" onclick="FindCheckBox('<%= GridView1.ClientID %>')" value="ClickMePlease" />

或在UserControl后面的代码中

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "sendGridID", "FindCheckBox('" + GridView1.ClientID + "')", true);

UPDATE

如果在父级中需要控件的ID,则需要在UC中使用FindControl。

GridView gv = Parent.FindControl("GridView1") as GridView;
Label1.Text = gv.ClientID;

暂无
暂无

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

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