【问题标题】:how to prevent double time binding data to controls in asp.net with c#如何使用 c# 防止将数据两次绑定到 asp.net 中的控件
【发布时间】:2019-08-02 14:51:27
【问题描述】:

我有将数据绑定到控件的代码。我阻止它们在页面重新加载时进行第二次绑定。它和以前一样成功。但现在它绑定了双倍时间。不知道为什么?

这是我的代码:

DAL_General obj = new DAL_General();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Fill_Combo();
            Get_Data();
        }
    }
    protected void Fill_Combo()
    {
        DAL_ComboFill obj_u = new DAL_ComboFill();
        obj_u.Fill_Users_Combo(this, ddl_users, false, true);
        obj_u.Fill_SenderIds_Combo(this, ddl_sender, false, true);
        obj_u.Fill_Status_Combo(this, ddl_delevery, false, true);
        obj_u.Fill_AccountType_Combo(this, ddl_account, false, true);
    }

这是我的结果:

所有下拉列表和网格视图绑定双倍时间。我想阻止他们。请帮帮我...

【问题讨论】:

    标签: sql c#-4.0 postback asp.net-4.0


    【解决方案1】:

    请检查调试它的调用可能是两次。并在调用 Fill_Combo 方法之前检查添加条件下拉项计数大于零然后不调用 Fill_Combo() 方法。

    喜欢这个

    if(ddl_users.items.Count == 0)
    {
    Fill_Combo();
    }
    

    【讨论】:

    • 好的。那么网格视图呢。我的项目所有页面都有网格视图,现在绑定了两次。
    • 请检查网格视图行数。当计数可用时,不要绑定到网格。
    • 不工作。我认为问题出在数据库方面。
    • 如果你有像这样绑定gridview GridviewName.ItemSource = _dataset;所以,请像 if(GridviewName?.Rows.Count == 0) {GridviewName.ItemSource = _dataset; }
    • 问题是我的所有具有gridview 的页面绑定了两次,但以前不会发生这种情况。我的页面白名单下拉列表工作正常,只绑定第一次记录。为什么会这样??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2013-05-18
    • 1970-01-01
    相关资源
    最近更新 更多