在转到该叶面时  是默认显示 数据库中所有的内容   当 输入选择条件时候  就显示合乎 条件的   数据    所以写了俩次 数据绑定    结果  输入 选择条件时候  
通过  按钮 提交时  发现按钮不起作用

解决方案 »

  1.   

    如果你用了两次绑订的话,我感觉的话你应该是使用了两个datasource, 这样的话你可以看看你的每次绑订是不是绑订的不同的datasource,实际上对于条件选择的情况我建议你使用一个
    commandstring 来传入 sql命令,这是我喜欢的方法,再 不使用存储结构的情况下非常实用,实现起来也不麻烦
      

  2.   

    执行绑定的位置出了问题,
    Page_Load的执行在Button_OnSubmit之前,所以如果仅在Page_OnLoad中进行绑定的话,就会出现没有反应的情况,因为执行Page_Load的时候按钮的事件尚未被执行。所以还需要在Button_OnSubmit函数中再次进行绑定
      

  3.   


    private void Page_Load(object sender, System.EventArgs e)
    {
             


    //判断用户是否为合法用户
    if(Session["权限"].ToString()=="管理员")
    {
    BindToDG();
    }
    else 
    {
    Response.Write ("您不是合法用户,请登入后再操作,<a href='default.aspx'>返回</a>");
    Page.Response.End();
    }

    }
              private void BindToDG()
    {
    string  sendSQL ="select * from   Users ";
    Dgd_user.DataSource = AdminDBO.GetAllItems(sendSQL);
    Dgd_user.DataBind();
    }
    private void SearchBind(string SQL)
    {
               Dgd_user.DataSource = AdminDBO.GetAllItems(SQL);
    Dgd_user.DataBind();  
                      }
    private void button_Filter_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
     string  SearchSQL ="select * from   Users '" +Convert.ToInt32(this.txtSelect.Text.Trim().ToString()) +"'";
    SearchBind(SearchSQL);
                    
    }
    其中 :
      

  4.   

    public static DataSet  GetAllItems(string sendSQL)
    {
    //创建数据库连接和命令的对象
    SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    SqlDataAdapter myAdapter = new SqlDataAdapter(sendSQL,myConnection); DataSet ds = new DataSet();
    myAdapter.Fill(ds);
    return ds;
    }
      

  5.   

    谢谢哈 是 俩次绑定数据源的 其中 方法    GetAllItems是没有问题的  麻烦 大哥 帮忙 看一下啊
      

  6.   

    安执行顺序 没有问题啊 不过 最好加postback的判断 毕竟你又多执行了一次不必要的绑定
    估计是你的IE设置的问题吧 是不是  每次访问此页时检查 啊
      

  7.   

    lovehongyun(一个人的电影)   大哥  还是一样哈  按钮没反映
      

  8.   

    page_load中页面每次刷新都要执行BindToDG();
    所以你查询的那个绑定就没作用了.private void BindToDG()
    {
    string  sendSQL ="select * from   Users ";
             string sqlWhere = "";
             if(this.txtSelect.Tex != string.Empty)
             {
                sqlWhere += " xx条件"
             }
    Dgd_user.DataSource = AdminDBO.GetAllItems(sendSQL+sqlWhere);
    Dgd_user.DataBind();
    }page_load中:
    private void Page_Load(object sender, System.EventArgs e)
    {
             


    //判断用户是否为合法用户
    if(Session["权限"].ToString()=="管理员")
    {
                                                if (!Page.IsPostBack)
                                                {
                                                    BindToDG();                                             }
                                                  
    }
    else 
    {
    Response.Write ("您不是合法用户,请登入后再操作,<a href='default.aspx'>返回</a>");
    Page.Response.End();
    }

    }按钮事件中也是调用这个方法:BindToDG();
      

  9.   

    还是不行哈   在 page_load中: 调用了 BindToDG() 按钮还是无法使用  调试 也没反应
      

  10.   

    不会是 你的按钮 没有和后台事件处理程序 注册上吧哈哈 程序没错 先page_load 再 button_click 即便是多帮定一次 也没事 button_click一定要执行的
      

  11.   

    lovehongyun(一个人的电影) 已经说清楚了
    if (!Page.IsPostBack)
    {
      BindToDG();
    }
      

  12.   

    建议楼主在Page_Load事件里使用 IsPostBack,区分页面的首次加载与刷新加载    protected void Page_Load(object sender, EventArgs e)
        {
            //判断是否第一次进入页面
            if (!IsPostBack)
            {
                //判断用户是否为合法用户
                if (Session["权限"].ToString() == "管理员")
                {
                    BindToDG();
                }
                else
                {
                    Response.Write("您不是合法用户,请登入后再操作,<a href='default.aspx'>返回</a>");
                    Page.Response.End();
                }
            }
            //非首次页面加载时做的事情
            //dothing();
        }