CheckBox控件默認選中,提交時永遠獲得選中狀態

寫個項目,從數據庫中獲得的數據綁定值Checkbox,綁定方法如下

//加班設置數據綁定
    protected void CheckBoxBind()
    {
        OverTimeBLL overTimeBll = new OverTimeBLL();
        List<OverTime> overTimeList = new List<OverTime>();

        overTimeList = overTimeBll.GetAll();
        if (overTimeList.Count > 0)
        {
            //綁定頁面信息
            txtID.Text = overTimeList[0].ID.ToString();
            if (overTimeList[0].IsEarlyValid.ToLower() == "true") cbIsEarlyValid.Checked = true;
            if (overTimeList[0].IsLaterValid.ToLower() == "true") cbIsLaterValid.Checked = true;
            if (overTimeList[0].IsOnlyHoliday.ToLower() == "true") cbIsOnlyHoliday.Checked = true;
            if (overTimeList[0].IsUseTime.ToLower() == "true") cbIsUseTime.Checked = true;
            if (overTimeList[0].IsUseNum.ToLower() == "true") cbIsUseNum.Checked = true;
            txtMinDuration.Text = overTimeList[0].MinDuration.ToString();
        }
    }
然後在protected void Page_Load(object sender, EventArgs e)方法中加入CheckBoxBind()方法,但提交時,如果某一個CheckBox是選中狀態,那獲得的永遠是該checkBox的checked屬性爲True,後來再三試了,發現自己疏忽了,只要將CheckBoxBind方法放在if (!this.Page.IsPostBack)下即可。

代碼如下

if (!this.Page.IsPostBack)
            {
                remindResult.Text = GetRemind();
                //頁面數據綁定
                CheckBoxBind();
            }




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章