【问题标题】:Unable to prevent gridview from refreshing when dropdownlist is selected选择下拉列表时无法阻止网格视图刷新
【发布时间】:2013-11-09 16:40:06
【问题描述】:

我有一个在 page_load 下填充数据的 gridview。此gridview 可按字母排序,并具有分页功能。但是,在选择了一个下拉列表值后,我的 gridview 的排序信息重置为默认的 page_load 数据。

我添加了更新面板和触发器,但它仍然不起作用。我搜索了所有的 SO 线程,都建议触发器和更新面板。我还在下拉列表中启用了自动回帖。 ddl的ID也是正确的。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>

      **GridView**      

    *dropdownlist category*
    *search textbox*
    *search button*


</ContentTemplate>
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="ddlCategory" EventName="SelectedIndexChanged" /> 
</Triggers> 
</asp:UpdatePanel>

</asp:Content>

我如何完全防止 ddl 值的选择使我排序的 ddl 值重置为 page_load 中找到的默认数据。

这就是我在 page_load 中绑定我的 gridview 的方式

Session["gridview"] = DataBindByDataSet();

GVPolice.DataSource = Session["gridview"];
GVPolice.DataBind();

这是数据表方法

private DataTable DataBindByDataSet()
    {

        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

                conn.Open();

                DataSet ds = new DataSet();

                SqlDataAdapter da = new SqlDataAdapter(*sql command*);
                da.Fill(ds);

                conn.Close();

                 return ds.Tables[0];               

   }

【问题讨论】:

  • 如何以及在哪里绑定gridview?把那个代码也放上去。

标签: c# asp.net sorting gridview drop-down-menu


【解决方案1】:

我认为您只需要禁用自动回发并防止其刷新即可。

【讨论】:

    【解决方案2】:

    将绑定代码放在Page_Load()方法的if条件下,这样有回发时就不会绑定了。

    //not post back i.e. first time load
    if (!IsPostBack)
    {
        Session["gridview"] = DataBindByDataSet();
    
        GVPolice.DataSource = Session["gridview"];
        GVPolice.DataBind();
    }
    

    【讨论】:

      【解决方案3】:

      我建议由于您使用 Session 进行数据处理,因此只需在排序功能中更新此会话即可。这样在每次排序后,会话都有最新的排序数据集。

      在您的排序功能中

      Session["gridview"] = Whatever sorted dataset you get.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-08
        • 1970-01-01
        • 2015-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-27
        • 2011-06-07
        相关资源
        最近更新 更多