2009-12-04 55 views

回答

0

Page_Load在Render之前调用的事件之前被调用。没有任何理由不能在你的事件中检查下拉列表的值并设置日历控件可见属性,然后再敲入Render。

0

尝试在设置加载GridView之前添加IsPostBack检查。这会阻止你覆盖它的值。

protected void Page_Load(object sender, EventArgs e) { 
    if(!IsPostBack) { 
     /*Populate your GridView*/ 
    } 
} 

protected void GridView_RowUpdated(object sender, GridViewUpdatedEventArgs e) 
{ 
    /*show your calendar here if you need to*/ 
    if(whatever) calendar.Visible = true; 
} 

这应该工作,如果没有的话我建议你把断点在你的Page_Load和RowUpdated的方法,并通过它加强,preferrably与GridView的数据源一看,如果它的(它会变为红色改变)和日历上的手表。可见,以帮助你看看是否有什么改变。

为了记录,像OnRowUpdated这样的控件事件将永远不会在Page_Load之前触发,除非由于某种原因显式调用。有可能你只是在GridView的内容没有更新到RowUpdated方法之前,或者由于缺少!IsPostBack检查而覆盖GridView中的数据。

+0

我在gridview_rowupdated事件处理程序中更改了日历的可见性(我错误地将dropdownlist放在了我的第一个描述中)。直到下一篇文章才会显示。 – user204019 2009-12-04 16:55:03

+0

在数据到达更新网格视图中的数据的部分之前,它似乎正在发生某些事情,它可以检查并查看那里的内容并将日历控件设置为可见。 – 2009-12-04 20:06:40

相关问题