У меня есть 4 раскрывающихся списка, вставка работает и как я могу редактировать данные и сохранять данные в db mvc2.При обновлении произошла ошибка: элемент ViewData с ключом «SelectedTimeZone» имеет тип «System.String», но должен иметь тип «IEnumerable
My Controller
public ActionResult Edit(int id)
{
return View(EventModel.Edit(id));
}
[AcceptVerbs(HttpVerbs.Post)]
[ValidateInput(false)]
public ActionResult Edit(int id, EventInfo EventInfo)
{
if (ModelState.IsValid)
{
EventModel.Edit(EventInfo);
return RedirectToAction("Index");
}
return View(EventInfo);
}
Model
public SelectList TimeZones { get; set; }
public SelectList EventType { get; set; }
private string selectedTimeZone = "";
public string SelectedTimeZone
{
get { return selectedTimeZone; }
set { selectedTimeZone = value; }
}
Load Function
myEventInfo.TimeZones = new SelectList(EventModel.getTIMEZOMES, "Key", "Value");
myEventInfo.SelectedTimeZone = Datareader["TIMEZONE"].ToString();
public static IList<KeyValuePair<string, string>> getTIMEZOMES
{
get
{
Dbhelper DbHelper = new Dbhelper();
IList<KeyValuePair<String, String>> Timezone = new List<KeyValuePair<String, String>>();
DbCommand cmd = DbHelper.GetSqlStringCommond("SELECT * FROM TMP_TIMEZONES");
DbDataReader Datareader = DbHelper.ExecuteReader(cmd);
while (Datareader.Read())
{
Timezone.Add(new KeyValuePair<String, String>(Datareader["ABBR"].ToString(), Datareader["NAME"].ToString()));
}
return Timezone;
}
}
View page
<%= Html.DropDownListFor(model => model.SelectedTimeZone, Model.TimeZones, "Select Timezone", new { style = "width:200px", @class = "textfield165" })%>
<%= Html.ValidationMessageFor(model => model.SelectedTimeZone)%>
. При обновлении возникла ошибка / ViewDataэлемент, имеющий ключ 'SelectedTimeZone', имеет тип 'System.String', но должен иметь тип 'IEnumerable