关于网友提出的“ js当前上下文找不到控件”问题疑问,本网通过在网上对“ js当前上下文找不到控件”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: js当前上下文找不到控件
描述:本帖最后由 luquansen 于 2012-04-11 22:36:54 编辑
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Weekly.aspx.cs" Inherits="Weekly" Title="Untitled Page" %>
var paraId1 = '<%= TextBox1.ClientID %>';//注册控件<>
return {Id1:paraId1};//生成访问器
}<>
//-->
<>
AutoGenerateColumns="False" CellPadding="1" ForeColor="#333333" GridLines="None" ShowFooter="True" />
总是在注册控件那提示“上下文找不到‘TextBox1’”,这是怎么回事呢?
解决方案1: 加了模板后你的控件ID就变成动态的了类似于CsdnUbbEditorStatusbar_CsdnUbb_1这样子了,所以你还去TextBox1肯定是取不到值的!
解决方案2: textbox在gridview里不能被直接的访问到滴,编译器找不到啊。
解决方案3: function getClientId()
{
var paraId1 =document.getElementById('<%= GridView1.ClientID %>').getElementsByTagName("input");//注册控件
return {Id1:paraId1};//生成访问器
}
'>
生成的html代码是input
'>
解决方案4: 其实换一种思路。比如你后台数据中有ID这一列。然后前台
" runat="server" text='<%# bind("序号") %>'>
" runat="server" text='<%# bind("序号") %>'>
解决方案5: TextBox1放在模板里面,会有很多个TextBox的,
你应该这样
function getClientId(x)
{
var paraId1 = x;//注册控件
return {Id1:paraId1};//生成访问器
}
确定要使用哪行当TextBox1
以上介绍了“ js当前上下文找不到控件”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2099123.html