【发布时间】:2017-01-16 14:20:04
【问题描述】:
我正在尝试从 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 是用户控件上的网格视图。
【问题讨论】:
-
这个
gv_uc.("gvgridname").ClientID看起来不对,应该是gv_uc.ClientID -
将
FindCheckBox()放入UserControl 或将ClientID作为变量发送到FindCheckBox()。这样,它将适用于单个页面上的多个控件。 -
@Andrei 即使我尝试写 gv_uc 它说名称在当前上下文中不存在。
-
@VDWWD 所以用户控件的客户端 ID 应该作为参数发送到 FindCheckbox。?
-
是的,这可能是最简单的:
function FindCheckBox(ID) { var checkBoxSelector = document.getElementById(ID); }
标签: javascript asp.net gridview user-controls master-pages