在 asp.net 中取下拉列表的值

Posted

技术标签:

【中文标题】在 asp.net 中取下拉列表的值【英文标题】:Taking Value of dropdownlist in asp.net 【发布时间】:2013-12-24 19:44:33 【问题描述】:

使用内部连接并从 3 个表中获取数据后,我想显示分配给 Jennifer 小姐的课程名称,Tchr_ID 是 4,ddlcoursedropdown list id

SqlCommand cmd = new SqlCommand(@"
    SELECT 
        Course.Course_name, 
        Tchr_course_ID 
    FROM Course 
    INNER JOIN CourseOffering 
        ON Course.Course_ID=CourseOffering.Course_ID 
    INNER JOIN Tchr_Course 
        ON Tchr_Course.Course_offer_ID=CourseOffering.Course_offer_ID 
    where Tchr_Course.Tchr_ID = 4", conn);

SqlDataReader dr = cmd.ExecuteReader();

ddlcourse.DataSource = dr;
ddlcourse.Items.Clear();
ddlcourse.DataTextField = "Course_name";            
ddlcourse.DataValueField = "Tchr_course_ID";
ddlcourse.DataBind();

获取后,我将下拉列表textfield 显示为课程名称,我将datavaluefiled 应用为tch_Course_ID,因为当用户选择课程时,其tchr_course_ID 将保存在数据库中。为了保存 id 我正在使用 ddlcourse.SelectedItem.Value 但这在我关于外键的插入语句中给了我错误。它没有考虑所选课程的价值。为什么?我该如何纠正?

这些表都参与其中..

课程表:(其中有课程列表)==> (Course_ID,Course_name)

CourseOffering 表:(其中记录了这些课程是 本学期提供)==> >(Course_offer_ID,Course_ID)

Tchr_Course 表:(有该课程分配到的记录 这位老师)==>(Tchr_course_ID、Course_offer_ID、Tchr_ID)

档案表:(简单包含教师记录)== > (Tchr_ID、姓名、电子邮件)

【问题讨论】:

请告诉您要插入的表格? 这基本上是一个讲座上传系统,教师必须先选择一门课程,然后她必须上传一个文件。所以插入 Lecture 文件或插入 tchr_Course_ID 的表是.. Lecture (Lecture_ID,Tchr_Course_ID,LEcture_File) 请确认 tch_course_id 是否存在于 tch_course_table 中? Id 确实存在于表中,但插入语句仍然给我错误.. 【参考方案1】:

使用SelectedValue 处于使用SelectedItem.Value 的状态,因为您的ddlcourse 具有DataValueField 作为Tchr_course_ID,因此只有SelectedValue 为您提供Tchr_course_ID 所需的结果。

【讨论】:

我按照你说的做了,但是这个错误仍然出现“SQL 执行失败。INSERT 语句与 FOREIGN KEY 约束“FK_Lecture_Tchr_Course”冲突。冲突发生在数据库“SproTrack”,表“dbo。 Tchr_Course",列 'Tchr_course_ID'。语句已终止。" @user3005601 复制代码并检查SelectedValue 具有的内容以及表Tchr_Course 中存在的相同值 耶!! ddlcourse.SelectedValue 给出 0(零),而它应该选择所选课程的 tchr_course_id ......为什么会这样?

以上是关于在 asp.net 中取下拉列表的值的主要内容,如果未能解决你的问题,请参考以下文章

获取asp.net MVC中下拉列表和文本框值的值

根据上一个列表中选择的值填充下拉列表(asp.net mvc3)

ASP.NET MVC 将发布的值设置为下拉列表

用 jQuery 设置 ASP.NET 数据绑定下拉列表的值

为 ASP.NET 编写月份和年份下拉列表的最佳方法是啥?

如何通过 ajax 使用数据库数据填充 ASP.NET MVC 4 下拉列表