C# 下拉列表选定值

C# 下拉列表选定值,c#,asp.net,C#,Asp.net,我目前有一个dropdownlist,它是通过数据库中模块表的SQLDataSource填充的。 模块表有3个字段:ModuleID、ModuleName和CourseID。 这是我的下拉列表代码 <asp:DropDownList ID="ModuleDropDownList" style="position:absolute; top: 35px; left: 152px;" runat="server"

我目前有一个dropdownlist,它是通过数据库中模块表的SQLDataSource填充的。 模块表有3个字段:ModuleID、ModuleName和CourseID。 这是我的下拉列表代码

<asp:DropDownList ID="ModuleDropDownList" 
                        style="position:absolute; top: 35px; left: 152px;" runat="server" 
                        DataSourceID="SqlDataSource2" DataTextField="ModuleName" 
                        AutoPostBack="True" 
                        >

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:RegisterConnectionString %>" 
                        SelectCommand="SELECT DISTINCT * FROM [Module] WHERE ([CourseID] = @CourseID)">
                        <SelectParameters>
                            <asp:ControlParameter ControlID="CourseDropDownList" Name="CourseID" 
                                PropertyName="SelectedValue" Type="Int32" />
                        </SelectParameters>

                    </asp:SqlDataSource>
但是,考勤表中的ModuleID字段的数据类型为Int,因此我需要一种基于从dropdownlist中选择的ModuleName在考勤表中记录ModuleID的方法。
非常感谢您的帮助,提前谢谢

根据您的代码,我将“ModuleDropDownList”上的DataValueField属性设置为“ModuleID”(或您所称的任何内容)。然后,在访问dropdownlist的SelectedValue属性时,您将获得moduleid


祝你好运

Yeh这很好,但我需要在下拉列表中显示ModuleName,然后根据所选ModuleName保存ModuleID,有什么方法可以做到这一点吗?感谢如果将DataValueField设置为“ModuleID”,将DataTextField设置为“ModuleName”,dropdownlist将在页面中显示ModuleName,访问selectedvalue属性将返回ModuleID。
                command = new SqlCommand("INSERT INTO Attendance(Present, Date, StudentID, StudentName, ModuleID) VALUES (@Attendance, @Date, @StudentID, @StudentName, @ModID)", connection);
                command.Parameters.AddWithValue("@Attendance", attendance);
                command.Parameters.AddWithValue("Date", DateTime.Now);
                command.Parameters.AddWithValue("@StudentID", StudentID);
                command.Parameters.AddWithValue("@StudentName", StudentName);
                command.Parameters.AddWithValue("@ModID", ModuleDropDownList.SelectedValue);