我有一个 asp.net 页面,用于搜索数据行。我希望能够搜索特定的日期间隔,因此我添加了两个日历(从和到),并为每个日历添加了一个文本框。
当在日历中选择日期时,它会显示在匹配的文本框中,尽管这会导致回发,这是我的问题。
我以前从未使用过 javascript,所以我想尝试一下,但我几乎只看到使用 HTML 的示例,而我根本没有使用 HTML。我只使用 ASP.NET Web 控件,例如 <asp:Calendar.../>
.
所以下面的这段代码只是我的想法,我知道 JavaScript 是完全错误的,但我希望你在看到它时明白我想要实现的目标是什么。
<script type="text/javascript">
function Calendar1_SelectionChanged() {
FromDate.Text = Calendar1.SelectedDate.ToString();
}
</script>
<asp:Calendar ID="Calendar1" runat="server"
onselectionchanged="Calendar1_SelectionChanged"></asp:Calendar>
<asp:TextBox ID="FromDate" runat="server"></asp:TextBox>
非常感谢所有答案!我一直试图通过谷歌搜索找到这个问题的答案,但没有运气..
编辑:为了使其在页面上工作,我需要保留文本框。或者可以手动编辑日期的任何其他方式(以日期时间格式)
最佳答案
这里的问题是,当页面实际提供给浏览器时,它会与您在那里发布的内容发生变化。 onselectionchanged
事件不是 JavaScript 事件,它会进行回发以在服务器上调用 Calendar1_SelectionChanged
方法。尽管该函数看起来与 onselectionchanged
事件同名,但您的 JavaScript 代码并未运行。
我的建议是使用 jQuery datepicker .
我也不确定您的 javascript 是否完全按照您的预期工作。您似乎正在使用一些 C# 属性/方法...
关于javascript - 如何在使用 javascript 的 ASP.NET 中单击日历并将日期复制到文本框而不进行回发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539303/