javascript - 未声明控件。由于其保护级别,它可能无法访问

标签 javascript asp.net jquery-ui-datepicker

我真的卡住了,我已经尝试了所有其他示例,但没有任何效果。我是 ASP.NET 的新手,但学得很快!

我想使用 jQuery 日期选择器并插入这个脚本

 <script>
          $(document).ready(function () {
              $(function () {
                  $("#" + '<%=txtDOB.ClientID%>').datepicker();
            });
        });
  </script>

而我在aspx页面上的控件是

<asp:TextBox ID="txtDOB" CssClass="form-control" runat="server"></asp:TextBox>

一旦我关闭服务器标记 %>,txtDOB 控件下就会出现红线并显示:

txtDOB is not declared. It may be inaccessible due to its protection level.

我已经在后面的代码中公开了这个类,但没有任何区别。我还将脚本移到了页面底部。如果我将 asp 文本框更改为 HTML 输入,它工作正常。

最佳答案

如您所用,它将与 ASP.NET TextBox 一起正常工作。因此,它必须与您的控件所在的位置有关。例如,如果它在 Repeater 或 Grid 中,您将不能像那样直接使用它的 ID,因为框架会在运行时为每一行生成唯一的 ID。

创建一个页面上没有其他控件的简单 Web 表单,您会发现它可以正常工作。

关于javascript - 未声明控件。由于其保护级别,它可能无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25338521/

相关文章:

asp.net - 正则表达式或 Try Catch 来验证 double - 最佳性能

javascript - jquery datepicker 代码不起作用(将特定日期设置为默认值)

javascript - 用 javascript 编写一个类

asp.net - MVC 1 和 IIS 7 错误代码 4011

javascript - 为网站调用 javascript 程序

asp.net - 在循环期间查找 ASP.NET 控件

JQuery datePicker 日期重置

javascript - jQuery UI 日期选择器 setDate 与 new Date 对比 Date.parse

javascript - 支持非 Javascript 用户 - JQuery Slide

javascript - 通过 ng-model 将键值对传递给函数