select 查询条件是空的,数据绑定

string strUpdateVoteDetails = "update voteDetails set  voterNum=voteNum+1 where voteDetalisID=" + this.RadioButtonList1.SelectedValue;

 

问题: 这一句中的this.RadioButtonList1.SelectedValue会是空的,原因在于:他还在初始化状态,也就是说,现在原状态不是你已经选择了RadioButtoList1的状态,而是它刚刚初化的状态

原因:页面一加载就会调用Page_Load事件,在Page_Load事件中有一个调用绑定事件(getVoteItem(),当进行单击Button按钮时也会调用Page_Load事件所以又会对绑定事件进行再次初始化,导致选择的this.RadioButtonList1.SelectedValue初始化成空了,

下面是数据的绑定:

//得到选项, 数据项的绑定

    public void getVoteItem()

    {

        String strSql = "select voteDetailsID ,voteItem from voteDetails where ID=" + ID;

        SqlDataReader sdr = dbSource.getSdr(strSql);

 

        this.RadioButtonList1.DataSource = sdr;//指定数据源

        this.RadioButtonList1.DataTextField = "voteItem";//指定要显示的字段

        this.RadioButtonList1.DataValueField = "voteDetailsID";//指定主键字段

        this.RadioButtonList1.DataBind();//绑定Rd,这一句一定要写,否则看不到内容

        sdr.Close();//关闭数据流

        dbSource.clearSc();//清除资源,关闭数据库的连接

    }

解决:对绑定事件进行判断,若是第一次加载就是进行初始化,其它情况不能够进行初始化

protected void Page_Load(object sender, EventArgs e)

    {

        //PageLoad方法 是在页面一加载的时候就会执行的方法

        getID();

        getVoteTitle();

 

        if (!Page.IsPostBack)// Page.IsPostBack 表明是回传,加上取反符!表明,表明是第一次

        {

            bindData();//客户第一次请求的时候我 们才绑定 选项

        }

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值