用.net实现注册用户使用RadioButtonList,DropDownList与数据库绑定,使用DropDownList实现省市联动

如果有问题请大家更正

使用DropFownList web控件实现省是联动效果,DropDownList的AutoPostBack如果设置true,当DropDownList内容发生改变会自动返回到服务器端,这比在java中使用ajax 中dwr实现要方便得多.AutoPostBack,DropDownList在数据绑定的方法都很相似1.步:获得SqlConnection对象.

为了以后能够方便修改联接字符串,在Web.config中做如下设置

                <appSettings>
                      <add key="conn" value="server=.;uid=sa;pwd=;database=test"/>
                </appSettings>

设置好字符串后获得联接字符串

String ConnStr = System.Configuration.ConfigurationSettings.AppSettings["conn"].ToString().Trim();
   获取SqlConnection对象     

       conn = new SqlConnection(ConnStr);
        DropDownList,以及RadioButtonList对象数据绑定的使用方法

            SqlCommand province = new SqlCommand("select * from province",conn);
            SqlDataReader read=province.ExecuteReader();
            this.ddlCuberniya.DataTextField = "province";//将数据库中要显示在对象上面的数据列标题
            this.ddlCuberniya.DataValueField = "id";  //数据库中的id
            this.ddlCuberniya.DataSource=read;
            this.ddlCuberniya.DataBind();    //dataBind才是将集合往DropDownList上绑

-------------------------------------------实现代码---------------------------

 using System.Data.SqlClient;
public partial class Demo2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.ddlCuberniya.AutoPostBack = true;
  if (!Page.IsPostBack) {
            DB db = new DB();
            SqlConnection conn=db.Open();
            //加载性别数据
            SqlCommand cmd = new SqlCommand("select * from enrollPersonSex", conn);
            SqlDataReader reader = cmd.ExecuteReader();
            this.rblSex.DataTextField="sex";
            this.rblSex.DataValueField="id";
            this.rblSex.DataSource = reader;
            this.rblSex.DataBind();
            reader.Close();
            cmd.Dispose();

            //加载省信息
            SqlCommand province = new SqlCommand("select * from province",conn);
            SqlDataReader read=province.ExecuteReader();
            this.ddlCuberniya.DataTextField = "province";
            this.ddlCuberniya.DataValueField = "id";
            this.ddlCuberniya.DataSource=read;
            this.ddlCuberniya.DataBind();
            read.Close();

            //第一次根据省初始市
            SqlCommand sqlCommandCity = new SqlCommand("select * from city where proid="+this.ddlCuberniya.SelectedValue,conn);
            SqlDataReader readcity = sqlCommandCity.ExecuteReader();
            this.ddlCity.DataSource = readcity;
            this.ddlCity.DataTextField = "city";
            this.ddlCity.DataValueField = "id";
            this.ddlCity.DataBind();
            readcity.Close();
            db.Close(conn);
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
           this.Panel2.Visible = false;
           this.Panel3.Visible = true;
    }
    protected void btNextTwo_Click(object sender, EventArgs e)
    {
        this.Panel3.Visible = false;
        this.Panel1.Visible = true;

    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        string nickname=this.txtNickName.Text.Trim();
        int age = Convert.ToInt32(this.txtAge.Text.Trim());
        String sex = null;
        //获得性别
        for (int i = 0; i < this.rblSex.Items.Count; i++) {
            if (this.rblSex.Items[i].Selected) {
                sex=rblSex.Items[i].Text.Trim();
            }
         }
        //取得确认密码
         String pwd = null;
         String txtpwd= this.txtPwd.Text.Trim();
         String accreditpwd=this.txtAccreditPwd.Text.Trim();
         if (txtpwd.Equals(accreditpwd))
         {
             pwd = txtpwd;
         }
         else {
             //确认密码失败以后的处理
             this.Panel3.Visible = true;
             this.Panel1.Visible = false;
             Response.Write("<script>alert('密码输入错误,请重输入!')</script>");
         }
        //获得省
       string cuberniya = this.ddlCuberniya.SelectedItem.Text.Trim();
       //获得市
       string city = this.ddlCity.SelectedItem.Text.Trim();
       string strinsert =
           "insert into enrollInfo(nickName,age,sex,password,guberniya,city)"+
        "values('" + nickname + "'," + age + ",'" + sex + "','" + pwd + "','" + cuberniya + "','" + city + "')";
       DB db = new DB();
       if (pwd != null)
       {   //如果密码确认成功 将数据插入到数据库操作
           db.executeSql(strinsert);
       }
       else {
              //如果失败以后的错误提示
              Response.Write("<script>alert('" + "error:" + nickname + age + sex + pwd + "**********" + cuberniya + "*************" + city + "')</script>");
       }
      
    }
        //省市联动选择省触法的选择"索引改变事件"
     protected void ddlCuberniya_SelectedIndexChanged(object sender, EventArgs e)
     {   
        String prid = this.ddlCuberniya.SelectedValue;
        DB db = new DB();
        SqlConnection conn=db.Open();
        //通过省ID为条件来获得市的的内容
        SqlCommand cmd = new SqlCommand("select * from city where proid=" +prid,conn);
        SqlDataReader red=cmd.ExecuteReader();
        this.ddlCity.DataSource = red;
        this.ddlCity.DataValueField = "city";
        this.ddlCity.DataValueField = "id";
        this.ddlCity.DataBind();
        red.Close();
        db.Close(conn);
     }
}
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值