日期:2014-05-18  浏览次数:20465 次

ISPOSTBACK的问题
程序中有一个dropdownlist控件,把dropdownlist控件的ispostback的属性设置为true,以便每次选择不同的选项,gridview能有响应的变化!程序如下:
C# code

protected void Page_Load(object sender, EventArgs e)
    {
       
        if (!IsPostBack)
        {
            //绑定到dropdownlist
            SqlDataReader ds = BLLGroup.SelectGroup();
            eTim

现在碰到的问题是取出来的新值,是原来的值,没有变化~!!问题应该是因为点击“update”按钮后,页面重新加载,使得修改的值丢失,从而取得还是原来的值,那样的话就应该把BindToGV()(绑定gridview的方法)也放在ISPOSTBACK里面,但问题是,放在ispostback里面以后,dropdownlist选项改变的时候,gridveiw的选项就不会变化了~!!
dropdownlist要求绑定方法放在ispostback外面
而gridview 中update响应事件要求放在ispostback里面
这个问题要怎么解决哪??刚学asp.net不久,希望大家帮帮忙~!!


------解决方案--------------------
C# code
protected void Page_Load(object sender, EventArgs e)
    {
       
        if (!IsPostBack)
        {
            //绑定到dropdownlist
            SqlDataReader ds = BLLGroup.SelectGroup();
            this.DropDownList1.DataSource = ds;
            this.DropDownList1.DataTextField = "GroupName";
            this.DropDownList1.DataValueField = "GroupID";
            this.DropDownList1.DataBind();
            ds.Close();
        BindToGV();//绑定到gridview的方法
          
        }
        
    }

------解决方案--------------------
dropdownlist的selectindexchange事件中加上BindToGV();//绑定到gridview的方法
------解决方案--------------------
1.把BindToGV也放在ISPOSTBACK里面
2.设置dropdownlist的autopostback=true
3.在dropdownlist的selectindexchange事件里重新执行BindToGV
------解决方案--------------------
1楼正解,正确理解IsPostBack的意思,问题就很好解决了
------解决方案--------------------
up一楼!是数据的显示顺序问题,