读书人

遇一棘手的有关问题求解决办法:用户

发布时间: 2012-09-04 14:19:30 作者: rapoo

遇一棘手的问题,求解决方法:用户资料修改,有一级部门和二级部门。点击修改界面会根据用户原来所在部门在dropdownlist第一个显示原来所在部门
问题如下:用户资料修改,有一级部门和二级部门。点击修改界面,在页面修改的时候(page_load)根据用户原来所在部门在dropdownlist第一个显示原来所在部门,如果用户需要修改一级部门资料,则点击下拉列表选择其他部门,autopostback为true,根据一级部门动态生成二级部门绑定dropdownlist2.
现在的问题是:我在page_load里根据用户原来的部门信息("一棉")在dropdownlist的第一个item显示原来的部门,现在我想修改部门,点击下拉列表,选择"二棉",页面重新加载,又执行了方法page_load里面的startData,dropdownlist1里面还是显示的原来的一级部门“一棉”。如此循环,请问有什么办法解决啊?
注:我需要根据一级部门动态绑定二级部门资料,所以dropdownlist1的SelectedIndexChanged方法需要。那么我可以用js来触发SelectedIndexChanged事件吗?这样是不是就避免了页面的重新加载,就不会又重新执行startData方法,也就避免了dropdownlist11还是显示原来的部门信息

源码:

C# code
    protected void Page_Load(object sender, EventArgs e)    {        if(!IsPostBack)        {                        startData();                   }            }    //绑定初始数据    protected void startData()    {        DataSet ds = new DataSet();        UM.userName=Session["user"].ToString();        ds = UB.users_QueryUserDetail_by_Name(UM);        ListItem myListItem0 = new ListItem("一棉", "firDepartmentName");        ListItem myListItem1 = new ListItem("二棉", "firDepartmentName");        string firDepartmentName = ds.Tables[0].Rows[0]["firDepartmentName"].ToString();        //一级部门        if (firDepartmentName=="一棉")        {            //移除所有的item            DropDownList1.Items.Clear();            //这里把选择项“一棉”放在前面            this.DropDownList1.Items.Add(myListItem0);            this.DropDownList1.Items.Add(myListItem1);        }        else        {            //移除所有的item            DropDownList1.Items.Clear();            //这里把选择项“二棉”放在前面            this.DropDownList1.Items.Add(myListItem1);            this.DropDownList1.Items.Add(myListItem0);        }        //二级部门        string secDepartmentName = ds.Tables[0].Rows[0]["secDepartmentName"].ToString();        DropDownList2.Items.Add(secDepartmentName);    }    //动态绑定二级部门数据    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)    {        //清除DropDownList2原来的item        DropDownList2.Items.Clear();        string FirDeparName = DropDownList1.SelectedItem.Text;        DataSet ds = SDB.secDepartment_Query_by_FirDeparName_dataset(FirDeparName);        DropDownList2.DataSource = ds;        DropDownList2.DataValueField= "secDepartmentName";//绑—ropDownList2的DataValueField属性        DropDownList2.DataTextField = "secDepartmentName"; //绑—ropDownList2的DataTextField属性        DropDownList2.DataBind();    }


[解决办法]
有没有调试一下先

读书人网 >asp.net

热点推荐