以下是该方案: - 网格控制 - 日历控制
我只希望日历显示是否在网格视图的下拉列表中选择了特定项目。更新网格视图行时,我想更改日历是否可见。日历的可见性仅在下一篇文章中正确显示。
答案 0 :(得分:0)
在Render之前调用的事件之前调用Page_Load。在您的事件中,没有理由不检查下拉列表的值并设置Calendar控件的可见属性,这将导致渲染。
答案 1 :(得分: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方法中加入断点并单步执行它,最好是在gridview的数据源上使用Watch(如果它被更改,它将变为红色)和在日历上观看。可见,帮助您查看是否有变化。
对于记录,除非由于某种原因显式调用,否则OnRowUpdated之类的控制事件将永远不会在Page_Load之前触发。有可能你只是做了一些事情,它没有在GridView内容更新之前更新GridView的内容,或者由于缺少!IsPostBack检查而覆盖了GridView中的数据。