如何获取无法访问 asp.net 控件的客户端 ID?

How to get the Client ID of asp.net control that is inaccessible?

提问人:SethD02 提问时间:10/4/2023 更新时间:10/5/2023 访问量:57

问:

我有一些自定义控件需要在 javascript 函数中访问,但在我的脚本中,它说由于保护级别的原因,我的控件未声明或无法访问。这是我当前脚本的样子

<script type="text/javascript" >
        function ddl_AutoSchedule_SelectedIndexChanged(sender, eventargs) {
            var date_DueDate = document.getElementById('<%= date_DueDate.ClientID %>');
            var date_PlannedStart = document.getElementById('<%= date_PlannedStart.ClientID %>');
            var date_PlannedFinish = document.getElementById('<%= date_PlannedFinish.ClientID %>');
            date_DueDate.textContent = new Date() + sender.value;
            date_PlannedStart.textContent = new Date();
            date_PlannedFinish.textContent = new Date() + sender.value;
        }
    </script>

我尝试访问的自定义控件嵌套在其他一些元素中,例如窗体视图和各种 div。我试过沿着层次结构走下去,比如

document.getElementById('<%= formView_Control.ClientID %>').getElementById('<%= date_DueDate.ClientID %>');

这似乎也行不通。获取这些客户端 ID 的任何想法或万无一失的方法?

JavaScript jQuery asp.net vb.net Telerik

评论

0赞 Andrew Morton 10/5/2023
哦,等等,你是想获取 Telerik 控件的 ID 吗?静态对他们不起作用。
0赞 SethD02 10/5/2023
@AndrewMorton 哦,不:(你知道我如何以其他方式访问它们吗?我已经为此磨了好几天了
0赞 Andrew Morton 10/5/2023
“自定义控件”是指用户控件(文件扩展名为 .ascx)还是 Telerik 控件?
0赞 SethD02 10/5/2023
@AndrewMorton 专门由 telerik RadDatePicker 制作的用户控件
0赞 Andrew Morton 10/5/2023
您是否正在使用母版页?也就是说,用户控件是否位于母版页上?

答:

0赞 Shahram Alemzadeh 10/5/2023 #1

假设用户控件中 Telerik 日期选择器的 ID 为 ,tdp

var date_DueDate =$telerik.findControl(document,"date_DueDate_tdp").get_selectedDate();

不带用户控件周围或用户控件中原始日期选取器周围的任何周围控件。