跪求跪求!两个联动的dropdownlist,在插入到数据库时,第二个插的突然不对了,以前是好用的

cotton_zym 2016-05-26 01:11:03
这是上传界面设计

默认的专业、课程是:自动化、模拟电子技术
当选择其他专业时,课程会随之变化如下图

但当填好信息提交时,写入数据库的内容确是:信息管理与信息系统、模拟电子技术!第二个dropdownlist虽然变化了,却没有存入数据库!怎么回事,以前上传时还是正常的能用的!
这是数据库存入的信息
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
範先森 2016-05-26
  • 打赏
  • 举报
回复
引用 2 楼 sinat_24537313 的回复:
[quote=引用 1 楼 fxj805835819 的回复:] 没怎么看明白啊,存进数据库的数据哪里不对了?
存进去的专业应该是: 信息管理与信息系统 ,课程应该是:C语言程序设计, 但现在实际存进去的专业是:信息管理与信息系统,课程是:模拟电子技术 我把页面load时的代码改了一下,现在可以正确的存课程了,但在加载页面时,第二个框就不显示内容了,必须运行到selectindexchanged事件时才能显示课程名,如下图 更改第一个框的专业后,才能正常显示 后台上传时有关DropDownList的代码
protected void Page_Load(object sender, EventArgs e)
    {
        string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
        OleDbConnection conn = new OleDbConnection(con_access);

        //string sql = "select C_NAME from T_COURSE where C_MID=1";
        string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";//这句话想在页面加载时,加载与专业相匹配的课程名,但运行时却实现不了
        OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

        DataSet ds = new DataSet();
        conn.Open();

        oda.Fill(ds);
        DropDownList2.DataSource = ds;
        DropDownList2.DataValueField = "C_NAME";
        DropDownList2.DataBind();
        conn.Close();
        
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
        OleDbConnection conn = new OleDbConnection(con_access);

        string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";
        OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

        DataSet ds = new DataSet();
        conn.Open();

        oda.Fill(ds);
        DropDownList2.DataSource = ds;
        DropDownList2.DataValueField = "C_NAME";
        DropDownList2.DataBind();
        conn.Close();
    }
[/quote] 你看一下pageload中的DropDownList1.Text这个的值,应该是这边出的问题
sdfgrtyu 2016-05-26
  • 打赏
  • 举报
回复
sdfgrtyu 2016-05-26
  • 打赏
  • 举报
回复
引用 2 楼 sinat_24537313 的回复:
[quote=引用 1 楼 fxj805835819 的回复:] 没怎么看明白啊,存进数据库的数据哪里不对了?
存进去的专业应该是: 信息管理与信息系统 ,课程应该是:C语言程序设计, 但现在实际存进去的专业是:信息管理与信息系统,课程是:模拟电子技术 我把页面load时的代码改了一下,现在可以正确的存课程了,但在加载页面时,第二个框就不显示内容了,必须运行到selectindexchanged事件时才能显示课程名,如下图 更改第一个框的专业后,才能正常显示 后台上传时有关DropDownList的代码
protected void Page_Load(object sender, EventArgs e)
    {
        string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
        OleDbConnection conn = new OleDbConnection(con_access);

        //string sql = "select C_NAME from T_COURSE where C_MID=1";
        string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";//这句话想在页面加载时,加载与专业相匹配的课程名,但运行时却实现不了
        OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

        DataSet ds = new DataSet();
        conn.Open();

        oda.Fill(ds);
        DropDownList2.DataSource = ds;
        DropDownList2.DataValueField = "C_NAME";
        DropDownList2.DataBind();
        conn.Close();
        
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
        OleDbConnection conn = new OleDbConnection(con_access);

        string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";
        OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

        DataSet ds = new DataSet();
        conn.Open();

        oda.Fill(ds);
        DropDownList2.DataSource = ds;
        DropDownList2.DataValueField = "C_NAME";
        DropDownList2.DataBind();
        conn.Close();
    }
[/quote] 可以加我qq:1658026873我远程看一下啊
cotton_zym 2016-05-26
  • 打赏
  • 举报
回复
引用 1 楼 fxj805835819 的回复:
没怎么看明白啊,存进数据库的数据哪里不对了?

存进去的专业应该是: 信息管理与信息系统 ,课程应该是:C语言程序设计,
但现在实际存进去的专业是:信息管理与信息系统,课程是:模拟电子技术
我把页面load时的代码改了一下,现在可以正确的存课程了,但在加载页面时,第二个框就不显示内容了,必须运行到selectindexchanged事件时才能显示课程名,如下图

更改第一个框的专业后,才能正常显示


后台上传时有关DropDownList的代码
protected void Page_Load(object sender, EventArgs e)
{
string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
OleDbConnection conn = new OleDbConnection(con_access);

//string sql = "select C_NAME from T_COURSE where C_MID=1";
string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";//这句话想在页面加载时,加载与专业相匹配的课程名,但运行时却实现不了
OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

DataSet ds = new DataSet();
conn.Open();

oda.Fill(ds);
DropDownList2.DataSource = ds;
DropDownList2.DataValueField = "C_NAME";
DropDownList2.DataBind();
conn.Close();

}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string con_access = ConfigurationManager.AppSettings["accessCon"].ToString();
OleDbConnection conn = new OleDbConnection(con_access);

string sql = "select C_NAME from T_COURSE where C_MID in (select M_ID from T_MAJOR where M_NAME='" + DropDownList1.Text + "')";
OleDbDataAdapter oda = new OleDbDataAdapter(sql, conn);

DataSet ds = new DataSet();
conn.Open();

oda.Fill(ds);
DropDownList2.DataSource = ds;
DropDownList2.DataValueField = "C_NAME";
DropDownList2.DataBind();
conn.Close();
}
範先森 2016-05-26
  • 打赏
  • 举报
回复
没怎么看明白啊,存进数据库的数据哪里不对了?

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧