【问题标题】:GridView .DataBind RowDataBound not firingGridView .DataBind RowDataBound 未触发
【发布时间】:2010-10-03 05:43:28
【问题描述】:

希望有人能帮忙!我有一个带有 gridview 的用户控件(UC 中有一个更新面板)

我在 2 个不同的页面上使用这个 UC - 在这两个页面上,UC 都位于一个选项卡(ajax tabpanel)上,该选项卡位于更新面板内。

在 1 页上,当我使用 .DataBind()(不是初始加载)时,它会触发 RowDataBound 事件并且网格正确完成。

但是在第 2 页(完全相同的代码!!),.DataBind 不会触发 RowDataBound 事件,并且数据源未绑定/刷新。任何想法为什么会发生这种情况?

【问题讨论】:

    标签: gridview data-binding


    【解决方案1】:

    首先检查您是否启用了缓存(在服务器上)。我还将使用断点来跟踪应用程序是否完全进入 Page_Load 事件。

    如果启用缓存,浏览器将缓存而不使用 Page_Load,因此不使用 DataBind()。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      RowDataBound 事件仅在回发期间 GridView 的数据发生更改时触发。该事件是为了速度而短路的,因此它不会不必要地重新生成完全相同的数据。改用 RowCreated 事件来操作 HTML - 无论数据是否发生变化,它都会在每次回发时触发。

      【讨论】:

        【解决方案3】:

        我已经通过放置代码行解决了

        (TabContainer1_ActiveTabChanged(TabContainer1, null);) 
        

        Page_Load 事件中,不在!IsPostback 事件中

        protected void Page_Load(object sender, EventArgs e)
            Page.Title = ConfigurationManager.AppSettings["PageTitle"].ToString().Trim() + " Project Type";
        
            if (!IsPostBack)
            {
                if (Request.Params["stidx"] != null && Request.Params["stidx"].ToString().Trim() != "")
                {
                    if (Request.Params["stidx"].ToString().Trim() == "0")   //have to make project type selected in left
                    {
                        NullAllDate_Except_ProjectType();
        
                        TabContainer1.ActiveTabIndex = 0;
        
                        LeftBar.var_data_to_show = "";
                    }
                    else if (Request.Params["stidx"].ToString().Trim() == "1")   //have to make Modules selected in left
                    {
                        NullAllDate_Except_Module();
        
                        TabContainer1.ActiveTabIndex = 1;
        
                        LeftBar.var_data_to_show = "";
                    }
                    else if (Request.Params["stidx"].ToString().Trim() == "2")   //have to make Activity selected in left
                    {
                        NullAllDate_Except_Activity();
        
                        TabContainer1.ActiveTabIndex = 2;
        
                        LeftBar.var_data_to_show = "";
                    }
                    else if (Request.Params["stidx"].ToString().Trim() == "3")   //have to make Systems selected in left
                    {
                        NullAllDate_Except_Systems();
        
                        TabContainer1.ActiveTabIndex = 3;
        
                        LeftBar.var_data_to_show = "";
                    }
                    else if (Request.Params["stidx"].ToString().Trim() == "4")   //have to make Module Headers selected in left
                    {
                        NullAllDate_Except_ModuleHeaders();
        
                        TabContainer1.ActiveTabIndex = 4;
        
                        LeftBar.var_data_to_show = "";
                    }
                    else
                    {
                        NullAllDate_Except_ProjectType();
        
                        LeftBar.var_data_to_show = "";
                    }
                }
                else
                {
                    NullAllDate_Except_ProjectType();
        
                    LeftBar.var_data_to_show = "";
                }
        
            }
        
            if (IsPostBack)
            {
                if (MyScriptManager.IsInAsyncPostBack)
                {
                    //LeftBar.var_data_to_show = true;
                    LeftBar.var_data_to_show = GetModuleName(TabContainer1.ActiveTabIndex.ToString());
                }
            }
        
            TabContainer1_ActiveTabChanged(TabContainer1, null);    //this is required here, otherwise onrow databound is not working on !Postback
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-10
          • 2018-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多