【发布时间】:2015-12-13 21:34:38
【问题描述】:
我已经为此工作了一段时间,但似乎无法弄清楚。因此,我有一个名为 ddStudent 的下拉列表,其中 textField 值来自我创建的名为 'Student 来自名为 'firstName' 的列的 sql 表。现在我使用“studentID”作为值字段。
这是我遇到问题的地方。我想执行以 studentID 作为参数的存储过程,但我不明白如何将实际的学生 ID 存储到参数中。
这是我目前所拥有的-
protected void btnRegister_Click(object sender, EventArgs e)
{
int selValClass = Convert.ToInt32(ddClassNames.SelectedValue);
int selValStudent = Convert.ToInt32(ddStudents.SelectedValue);
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("procRegStudent", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@studentID", selValStudent);
cmd.Parameters.AddWithValue("@classID", selValClass);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
这是我的数据绑定代码-
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("SELECT studentID, firstName, lastName, ssn, address, city, state, zip FROM Student ", con);
con.Open();
ddStudents.DataSource = cmd.ExecuteReader();
ddStudents.DataTextField = "firstName";
ddStudents.DataValueField = "studentID";
ddStudents.DataBind();
}
现在我的问题是,当我选择它时,有没有办法可以从下拉列表中存储实际的 studentID?出于某种原因,当我这样做时,页面会重新加载并为我没有选择的学生选择第一个学生 ID。我不确定发生了什么。
谢谢。
编辑-
我想确保我澄清-
我的学生下拉列表中有 3 名学生。当我选择学生 3(学生 ID 为 3)时,下拉列表中的第一个学生被作为参数传递,我不知道为什么。
【问题讨论】:
-
能否请您将 ddStudent DropDownList 的设计视图发给我,我想在回答之前先检查一下:)!
-
@FreedomDeveloper 你指的是与之关联的表吗?
-
不,我的意思是你的下拉列表控件的 HTML 视图,类似于:
-
@FreedomDeveloper 给你。见here
-
@FreedomDeveloper 这是aspx。