当前位置:编程学习 > C#/ASP.NET >>

UpdatePanel 刷新不了

这是代码,不知道怎么回事,点击按钮刷新不了。麻烦帮忙看看
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        <div id="objCalender" style="width: 100%; height: 100%; overflow: auto;">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server"  UpdateMode="Conditional">
         <ContentTemplate>
        <asp:Calendar ID="Calendar1" runat="server" CellPadding="10" FirstDayOfWeek="Monday"
                    OnDayRender="Calendar1_DayRender" Width="100%" 
            BorderColor="#CCCCCC" BorderStyle="None"
                    BorderWidth="1px"  BackColor="White" Font-Size="Large" 
            NextPrevFormat="ShortMonth" Height="100%">
                    <DayHeaderStyle BackColor="#99CCFF" BorderColor="#CCCCCC" />
                    <DayStyle BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center"
                        VerticalAlign="Top" Font-Bold="true" />
                    <OtherMonthDayStyle CssClass="npDay" BackColor="#DDDDDD" ForeColor="Gray" />
                    <TitleStyle  BorderColor="#CCCCCC" BackColor="White" Font-Bold="true" />
                    <WeekendDayStyle CssClass="weekend" />
                </asp:Calendar>             
             </ContentTemplate>
            <Triggers>
            <asp:AsyncPostBackTrigger ControlID="showDate" EventName="Click"/>
            </Triggers>
        </asp:UpdatePanel>
        <asp:Button ID="showDate" runat="server" Text="显示" OnClick="showDate_Click" />

后台代码:
protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager1.RegisterAsyncPostBackControl(showDate);
hidDate.Value=DateTime.Now.ToShortDateString();
}
protected void showDate_Click(object sender, EventArgs e)
        {
            Calendar1.VisibleDate = Convert.ToDateTime(hidDate.Value.ToString());
            UpdatePanel1.Update();
        }
--------------------编程问答--------------------

//Calendar1.VisibleDate = Convert.ToDateTime(hidDate.Value.ToString());//改为下边这句试试
Calendar1.SelectedDate = Convert.ToDateTime(hidDate.Value.ToString());
--------------------编程问答--------------------
引用 1 楼 Imaor 的回复:

//Calendar1.VisibleDate = Convert.ToDateTime(hidDate.Value.ToString());//改为下边这句试试
Calendar1.SelectedDate = Convert.ToDateTime(hidDate.Value.ToString());

这个没用,我现在点击按钮,都不会触发showDate_Click事件。 --------------------编程问答-------------------- 把  <asp:Button放到asp:UpdatePanel中  --------------------编程问答--------------------
引用 2 楼 ptyxling 的回复:
Quote: 引用 1 楼 Imaor 的回复:


//Calendar1.VisibleDate = Convert.ToDateTime(hidDate.Value.ToString());//改为下边这句试试
Calendar1.SelectedDate = Convert.ToDateTime(hidDate.Value.ToString());

这个没用,我现在点击按钮,都不会触发showDate_Click事件。


前台

    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>  
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <asp:Button ID="Button1" runat="server" Text="刷新" onclick="Button1_Click" /> 
        </ContentTemplate>
        </asp:UpdatePanel>
         
    </div>
    </form>


后台:


    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToString();
    }


测试下把你! --------------------编程问答-------------------- UpdatePanel 中要触发的事件得写在里面 所以你button必须放进去    --------------------编程问答-------------------- 我换了种方法,把日历单独放在一个页面,在主页面用布局控件把日历附加过来,刷新时只会刷新日历子页面。
dhxLayout.cells("a").attachURL("Calendar.aspx"); --------------------编程问答-------------------- 按钮事件需要注册 把按钮ID注册到UDP中
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,