如何通过JavaScript访问位于用户控件中的ASP控件

net*_*eng 1 javascript asp.net user-controls ascx

大家好,

我正在设计一个用户控件,简单地说它包含一个asp:hiddenfield控件,我将通过这样的JavaScript函数访问它

function doAnyThing
{
    var myVar = document.getElementById("myHiddenFiled");
}
Run Code Online (Sandbox Code Playgroud)

但是当我追踪我的代码时,我发现myVar被赋值为null,这是否重要

document.getElementById()
Run Code Online (Sandbox Code Playgroud)

方法用于用户控制文件(.ascx)或常规(.aspx)文件,考虑到它在(.aspx)文件中正常工作

tan*_*hos 9

您必须通过ClientID设置控件的最终ID,这将取决于您的页面结构.试试这个:

function doAnyThing
{
    var myVar = document.getElementById("<%= yourControlServerID.ClientID %>");
}
Run Code Online (Sandbox Code Playgroud)

显然,此函数需要放在.aspx文件中.我建议你切换到使用像jQuery这样的框架,它允许你通过更多的sofistic选择器来检索控件.这个案子将通过以下方式解决:

$("[id$=yourControlServerID]");
Run Code Online (Sandbox Code Playgroud)

并且您甚至可以将javascript代码放在外部.js文件中.