日期:2014-05-17  浏览次数:20490 次

急 Calendar 为何SelectionChanged事件没有触发
Calendar 为何SelectionChanged事件没有触发
点击没有任何反应!要设置属性?
    <asp:Calendar ID="CalendarDateTime" runat="server" Height="242px" Width="577px" 
        BorderStyle="Solid" BorderWidth="1px"
        ondayrender="CalendarDateTime_DayRender" FirstDayOfWeek="Monday" 
        DayNameFormat="Full" BorderColor="Black" ShowGridLines="True" 
        onselectionchanged="CalendarDateTime_SelectionChanged" 
        SelectionMode="None" onprerender="CalendarDateTime_PreRender" >
        <DayHeaderStyle BackColor="#99CCFF" />
        <TitleStyle BorderColor="#3399FF" />
        
    </asp:Calendar>

 protected void CalendarDateTime_SelectionChanged(object sender, EventArgs e)
        {

            TextBox1.Text =  CalendarDateTime.SelectedDate.ToShortDateString();

        }

------解决方案--------------------
断点一下进事件了没有?
------解决方案--------------------
没用过这个东西

事件不对吧
------解决方案--------------------
删了,重新拖一个控件,把其它不用的事件都删除了,只留SelectionChanged事件 
------解决方案--------------------
 SelectionMode="None" 换成SelectionMode="Day" 
------解决方案--------------------
引用:
SelectionMode="None" 换成SelectionMode="Day"

全部代码
<asp:Calendar ID="CalendarDateTime" runat="server" Height="242px" Width="577px" 
         BorderStyle="Solid" BorderWidth="1px" FirstDayOfWeek="Monday" 
         DayNameFormat="Full" BorderColor="Black" ShowGridLines="True" 
            onselectionchanged="CalendarDateTime_SelectionChanged">
            <DayHeaderStyle BackColor="#99CCFF" />
         <TitleStyle BorderColor="#3399FF" />
            </asp:Calendar>

------解决方案--------------------
引用:
引用:SelectionMode="None" 换成SelectionMode="Day"

已经是 SelectionMode="Day"  ,好像点不管哪个日期,似乎是静态的,没有反应
你点的时候要点日期点那个下划线出,因为你没有把整个方格都关联成这个日期所以你点空白处是没有效果的
------解决方案--------------------
理解原理,事件触发是通过页面提交产生的,控件自身需要有 自动提交 的属性设置为true .然后你在诊断整个事件响应的过程是否被其它逻辑截断。
------解决方案--------------------
引用:
引用:引用:SelectionMode="None" 换成SelectionMode="Day"