javascript - 将 C# webapp 更改为使用母版页后,DatePicker 不再工作

标签 javascript asp.net visual-studio-2008 master-pages datepicker

我正在开发 .Net/C# 网络应用程序,并且一直在使用基于 javascript 的日历来允许用户选择日期。这一直运行良好。

今天我更改了代码以包含母版页,从子页调用的日期选择器已停止工作,问题是返回日期的文本框不再有效,因为表单声明现在位于母版页上。

代码是 href="javascript:;" onclick="calendarPicker('form1.TBApplyDate');" title="Select Date from Calendar">Select

“错误行:1 错误:‘window.opener.document.form1.TBApplyDate’为空或不是对象”

我在网上看到了很多关于收集文本框客户端 ID 并以下面的各种排列方式传递它的示例,但我总是遇到同样的错误。

href="javascript:;" onclick="calendarPicker('ctl00_MainContent_TBApplyDate');" title="Select Date from Calendar">Select


href="javascript:;" onclick="calendarPicker(form1.<%=TBApplyDate.ClientID%>');" title="Select Date from Calendar">Select


任何人都可以就如何成功引用文本框提供任何帮助吗?

提前致谢。

最佳答案

这是因为元素 ID 被母版页“破坏”了

我建议使用 jQuery及其选择器可帮助您获取必要的控件

在 jquery 中你可以像这样获取一个控件:

$('[id$=myContrl]')

因此你应该能够做到这一点

<a href="javascript:;" onclick="calendarPicker($('[id$=TBApplyDate]'));" title="Select Date from Calendar">Select</a>

编辑: 你也可以试试这个

<a href="javascript:;" onclick="calendarPicker($('#<%= TBApplyDate.ClientID %>'));" title="Select Date from Calendar">Select</a>

关于javascript - 将 C# webapp 更改为使用母版页后,DatePicker 不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319946/

相关文章:

javascript - 有没有更好的方法来根据 JS 的存在来隐藏/显示元素?

javascript - 在window.onload之前执行耗时的任务

asp.net - 如何使用 IIS 6 在 ASP.NET 中实现远期过期 header

c# - CSS 在设计 View 中显示而不是在运行时

.net - Visual Studio "Debug Unit Test"无法命中断点

c# - 如何轻松切换构建的引用路径?

javascript - 在世界/国家 map 上绘制数据

javascript - 生成斐波那契数列

Asp.net + JIT?

c++ - 为什么对某些 Windows CE 目标的编译在 Visual Studio 2008 中得到 "skipped"?