Mam witrynę, która używała ASP.Net MVC Beta 5, a ja właśnie zaktualizowałem ją do ASP.Net MVC 1.0. Mam problem z wybranym elementem z rozwijanej listy.ASP.Net Html.DropDownList Wybrany element nie został wybrany
Osoba obserwacji ma podobne pytanie (Html.DropDownList in ASP.NET MVC RC (refresh) not pre-selecting item), ale nie ma odpowiedzi (inne niż może to być błąd)
metodamoim kontroler wygląda następująco:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult View(Guid id)
{
IntegrationLogic logic = new IntegrationLogic(new IntegrationLinq());
CompanyLogic companyLogic = new CompanyLogic(new CompanyLinq());
IntegrationContainer container = new IntegrationContainer();
container.Sources = logic.GetImportSource(id);
container.Companies = companyLogic.GetCompanies(); // Returns a IList<company>
container.SourceActions = logic.GetAllSourceActions(); // Returns an IList<SourceAction>
container.SinkActions = logic.GetAllSinkActions();
container.SuccessActions = logic.GetAllSuccessActions();
container.FailureActions = logic.GetAllFailureActions();
container.Actions = logic.GetAllActions();
container.Watchers = logic.GetAllWatcherActions();
container.ChainActions = logic.GetAllChainActions();
return View("View", container);
}
Widok jest silnie wpisane przed modelu następująco
public partial class View : ViewPage<IntegrationContainer> {}
obszar problem w szablonie widoku jest:
<label for="Companies">Company: </label><%=Html.DropDownList("Companies",
new SelectList(ViewData.Model.Companies, "id", "name", item.CompanyID))%>
Tworzę listę rozwijaną, wybrana pozycja nigdy nie zostanie wybrana - i to jest problem. "item.CompanyID" to Guid, "id" to Guid, a "name" to ciąg na obiekcie firmy dostarczonym w IList, który jest przechowywany w instancji ViewData.Model.Companies.
Czy to rzeczywiście błąd? - Trudno mi zrozumieć, dlaczego jest on nadal obecny w ASP.Net MVC ... Byłbym całkowicie zadowolony, jeśli to jest coś, co zrobiłem.
Bez względu na to, jaka byłaby zalecana praca do wykonania?
Dzięki
Po przejrzeniu 6 pytań na temat SO, jest to jedyna odpowiedź, która zadziałała ... dzięki! – Martin
Nie jest problemem. :) – Kinlan
Uderzyłem głową o ścianę, bardzo dziękuję. – aboy021