如何在asp.net中用javascript点击日历并将日期复制到文本框中而不回发

How do you click a calendar and copy the date to a textbox without postback, in asp.net with javascript?

本文关键字:文本 复制 日期 net asp 中用 javascript 日历      更新时间:2023-09-26

我有一个用于搜索数据行的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>

非常感谢所有的回答!我一直试图通过谷歌搜索找到答案,但没有成功。。

编辑:为了在页面上工作,我需要保留文本框。或者可以手动编辑日期的任何其他方式(以DateTime格式(

这里的问题是,当页面实际提供给浏览器时,它与您在那里发布的内容不同。onselectionchanged事件不是javascript事件,它执行回发以在服务器上调用方法Calendar1_SelectionChanged。虽然函数的名称与onselectionchanged事件的名称相同,但您的javascript代码并未运行。

我的建议是使用jQuery日期选择器。

我也不确定你的javascript是否符合你的预期。看起来你在使用一些C#属性/方法。。。

我会亲自查看jQuery日历,而不是asp日历。这样肯定可以避免任何回发。http://jqueryui.com/demos/datepicker/