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

发布于 2024-07-12 05:49:39 字数 372 浏览 7 评论 0原文

大家好,

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

function doAnyThing
{
    var myVar = document.getElementById("myHiddenFiled");
}

但是当我跟踪我的代码时,我发现 myVar 分配给null,在用户控制文件 (.ascx) 或常规 (.aspx) 文件中使用方法是否重要

document.getElementById()

,考虑到它在 (.aspx) 文件中正确工作

Hi All,

I'm designing a user control, briefly it contains an asp:hiddenfield control, i'm going to access it via JavaScript function like this

function doAnyThing
{
    var myVar = document.getElementById("myHiddenFiled");
}

but when I trace my code I found myVar assigned to null, does it matter

document.getElementById()

method is used in user control file (.ascx) or in regular (.aspx) file, taking into consideration it works in (.aspx) file correctly

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不咬妳我踢妳 2024-07-19 05:49:39

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

function doAnyThing
{
    var myVar = document.getElementById("<%= yourControlServerID.ClientID %>");
}

显然这个函数需要放在.aspx文件中。 我建议您改用 jQuery 这样的框架,它允许您通过更复杂的选择器检索控件。 这种情况可以通过以下方式解决:

$("[id$=yourControlServerID]");

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

You had to set by ClientID the final id of your control, that will depend by the structure of your page.
Try this:

function doAnyThing
{
    var myVar = document.getElementById("<%= yourControlServerID.ClientID %>");
}

Obviously this function need to be placed in the .aspx file. I suggest you to switch to use a framework like jQuery, that allows you to retrieve controls by more sofisticate selectors. This case will be solved by:

$("[id$=yourControlServerID]");

and you can place your javascript code even in an external .js file.

吃颗糖壮壮胆 2024-07-19 05:49:39

为了简化,您可以使用:

JQuery

$("<%= yourControlServerID.ClientID %>"). ....

ASP.NET JavaScript 注释:

var myVar = $get("<%= yourControlServerID.ClientID %>");

ASP.NET JavaScript 注释代码与以下相同:

var myVar = document.getElementById("<%= yourControlServerID.ClientID %>")

to simplify you can use either:

JQuery

$("<%= yourControlServerID.ClientID %>"). ....

ASP.NET JavaScript annotation:

var myVar = $get("<%= yourControlServerID.ClientID %>");

the ASP.NET JavaScript annotation code is the same as:

var myVar = document.getElementById("<%= yourControlServerID.ClientID %>")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文