VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 913|回复: 7

怎么在服务器端获得联动DROPDOWNLIST的值 (详细说明)

[复制链接]

6

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-12-10 15:30:01 | 显示全部楼层 |阅读模式
我目前的联动菜单实现了,以下是代码.麻烦路过的人帮忙看看,本人初学啊,没分了.

主要为了实现两个dropdownlist的部门与姓名联动,再加上一个textbox的值,一起提交到表三


我的数据库是以下这样关联,请专家帮忙看看对不对.


表一(部门):
sortid   sort
1         研发部
2         财务部

表二(姓名):
typeid  typename sortid
1        张三      1
2        李四     2
3        王五      1

表三(全部数据):
id  typename  typeid  sort     wenti          ipaddress
1     张三     1     研发部   网断了哦        192.168.0.8
2     李四     2     财务部    打印机不行了   192.168.0.10



存储过程:

CREATE proc classdata
@usort varchar(50),
@utypename varchar(50),
@uwenti varchar(50)
as
insert into class_data (sort,typename,wenti) values (@usort, @utypename, @uwenti)
GO


aspx.cs代码:

private void xmlBind(string sortid)
                {
                        string mystr = "";
                        string sql = "select typename,typeid from class_2 where sortid = " + sortid ;
                        DataTable mytab = this.Get_Dt(sql);

                        //将取到的值形成: ID|名称,ID|名称...这样的形式
                        if(mytab.Rows.Count != 0)
                        {
                                for(int i=0;i<mytab.Rows.Count;i++)
                                {
                                        mystr += "," + mytab.Rows[i]["typeid"].ToString() + "|" + mytab.Rows[i]["typename"].ToString();
                                }
                                mystr = mystr.Substring(1);
                        }

                        //输出页面
                        this.Response.Write(mystr);
                        this.Response.End();
                }


                private void DownBind1()
                {
                        //显示所有的主分类
                        string sql = "select sortid,sort from class_1 order by sortid asc ";
                        DataTable mytab = this.Get_Dt(sql);

                        //绑定第一个下拉框
                        this.mydown1.DataSource = mytab;
                        this.mydown1.DataValueField = "sortid";
                        this.mydown1.DataTextField = "sort";
                        this.mydown1.DataBind();

                        this.mydown1.Items.Insert(0,new ListItem("请选择分类",""));
               
                        ListItem myItem = this.mydown1.Items.FindByValue("1");
                        if(myItem != null)
                        {
                                myItem.Selected = true;
                        }

                        this.mydown1.Attributes.Add("onchange","XmlPost(this,'" + this.mydown2.ClientID + "');");
                }

                private void DownBind2()
                {
                        //默认显示分类号为1的所有子类
                  string sql = "select sortid,typename,typeid from class_2 where sortid =1" ;
                  DataTable mytab = this.Get_Dt(sql);

                        //绑牢控件
                  this.mydown2.DataSource = mytab;
                  this.mydown2.DataSource = mytab;
                  this.mydown2.DataValueField = "typeid";
                  this.mydown2.DataTextField = "typename";
                  this.mydown2.DataBind();

                        //添加一个空的首行
                        this.mydown2.Items.Insert(0,new ListItem("请选择名称",""));
                }
回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
发表于 2020-12-10 16:30:01 | 显示全部楼层
在执行插入语句的地方这么用
DropDownList1.SelectValue.ToString();
DropDownList2.SelectValue.ToString();
TextBox1.Text
执行存储过程
回复

使用道具 举报

6

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-12-10 17:00:01 | 显示全部楼层
我就是这样用的啊,提示失败


Request.Form["mydown1"].ToString();
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-12-10 17:15:01 | 显示全部楼层
object paramValue = Request.Form["mydown1"];
paramValue = (object.Equals(paramValue,string.Empty)?Convert.DbNull:paramValue;

回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
发表于 2020-12-10 17:30:01 | 显示全部楼层
你获取到值执行存储过程不就可以了,你先设定一个断点看看值是不是获取到了
回复

使用道具 举报

6

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-12-10 17:45:01 | 显示全部楼层
cm.Parameters.Add(new SqlParameter("@usort",SqlDbType.VarChar,50));


设断点:  无条件,总是中断,当前值为1
回复

使用道具 举报

6

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
 楼主| 发表于 2020-12-10 18:00:01 | 显示全部楼层
cm.Parameters["@usort"].Value=Request.Form["mydown1"];
设断点:  无条件,总是中断,当前值为1
cm.Parameters["@utypename"].Value=Request.Form["mydown2"];
设断点:  无条件,总是中断,当前值为0

不知啥原因
回复

使用道具 举报

0

主题

1

帖子

0.00

积分

新手上路

Rank: 1

积分
0.00
发表于 2020-12-10 23:11:38 | 显示全部楼层
我也去试试看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表