Я пытаюсь заполнить asp:DropDownList
данными от SQL
и с использованием данных. Однако я получаю ошибку «CreatedByDropList» имеет значение SelectedValue, которое недействительно, потому что оно не существует в списке элементов. Имя параметра: значениеКак я могу динамически заполнить дропшник, который вложен в вид формы с использованием данных?
asp:DropDownList
Внутри формы вид, который выбирает, заполнен сеткой.
здесь является HTML для управления выпадающего списка в Edit и Insert шаблона в FormView:
<asp:DropDownList ID="CreatedByDropList" AppendDataBoundItems="true" SelectedValue='<%# Bind("CreatedBy") %>' runat="server" />
Вот код Сзади:
protected void FormView1_DataBound(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Insert)
{
DropDownList ddlCreatedBy = FormView1.FindControl("CreatedByDropList") as DropDownList; //Placed BreakPoint Here
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlServer"].ConnectionString))
{
SqlCommand cmd = new SqlCommand(@"SELECT RLS.RoleName [RoleName], URS.UserID [UserID], USRS.UserName[UserName], USRS.FirstName[FirstName], USRS.LastName[LastName]
FROM [Roles] RLS Inner JOIN [Users] USRS LEFT JOIN [UserRoles] URS
ON USRS.[UserID] = URS.[UserID] ON RLS.[RoleID] = URS.[RoleID]
WHERE RLS.[RoleName] = 'Blog Editors'",conn);
conn.Open();
using (SqlDataReader reader1 = cmd.ExecuteReader())
{
while (reader1.Read())
{
int numUserID = reader1.GetInt32(1);
string strFirstName = reader1.GetString(3);
string strLastName = reader1.GetString(4);
string newUserName = strFirstName + " " + strLastName;
}
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
ddlCreatedBy.DataSource = dt;
ddlCreatedBy.DataTextField = "newUserName";//Placed BreakPoint Here
ddlCreatedBy.DataValueField = "numUserID";//Placed BreakPoint Here
ddlCreatedBy.DataBind();
}
}
}
Я поместил Breakpoints повсюду для некоторого поиска неисправностей но окно отладки остается пустым (что означает, что все окна отладки пусты и бесполезны) все время.
Это дает мне следующую ошибку: «невозможно преобразовать из объекта в строку», –