【问题标题】:How to avoid double time binding controls on Page Refresh/Render如何避免页面刷新/渲染上的双重时间绑定控件
【发布时间】:2019-08-09 15:30:37
【问题描述】:

我有一个显示下拉组合和一个网格视图的 Web 表单仪表板。前几天一切顺利。但现在我不明白为什么控件会绑定两次。我第二次避免使用 !Page.IsPostBack 绑定它们,并且它在前一天工作正常。现在它不能正常工作。它只是绑定了两次,但是每次刷新页面时,结果都与出现两次绑定数据相同。为什么会发生这种情况...我只是告诉您页面何时首先重新加载,然后在加载后呈现所有控件。

1) 调用第一页时是第一次绑定

2) 当页面用数据渲染所有控件时

我不知道为什么会发生这种情况是我的代码或调用 java 脚本的问题。 这是我的页面加载代码,用于防止多次将数据绑定到控件:

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);   
    }

请帮帮我......

【问题讨论】:

    标签: javascript jquery sql c#-4.0 asp.net-4.0


    【解决方案1】:

    像这样添加绑定数据后请先清除所有组合。

    ddl.Items.Clear();
    

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

    并且还设置网格数据在绑定其他数据后先赋值为空。

    【讨论】:

    • 请先理解我的问题,当页面呈现时出现问题
    • 这个答案如果根据问题量身定制会更有用:ddl_users.Items.Clear(); - 直接在obj_u.Fill_Users_Combo...之前添加这个
    • if(ddl_users.items.Count == 0) { Fill_Combo(); } 请使用这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2018-04-05
    • 2020-02-12
    • 1970-01-01
    • 2011-01-11
    • 2021-03-12
    相关资源
    最近更新 更多