OK, od wielu godzin prowadzę Googleing, próbuję wszystkiego i nie mogę uzyskać niczego do pracy. Uczę się MVC używając Sharp Architecture i wygenerowałem kilka podstawowych formularzy do tworzenia obiektów Klienta. Chcę wypełnić listę rozwijaną stanu listą stanów USA i pozwolić użytkownikowi wybrać z tej listy. Jestem w stanie wypełnić listę i odzyskać wartość (aby zapisać klienta), ale kiedy idę do edycji klienta, aktualny stan klienta nie jest wybrany. Ustawiłem wybraną wartość w liście SelectList: To nie wydaje się być wystarczająco dobre. czego mi brakuje?Wypełnianie ASP.NET MVC DropDownList
Odpowiedz
<%= Html.DropDownListFor(c => c.Client.StateProvince.Id,
new SelectList(Model.StateProvinces,
"id",
"Name",
Model.Client.StateProvince),
"-- Select State --")%>
To robi.
Mam nadzieję, że to pomoże komuś innemu.
~ Lee
Masz rację, pierwszy parametr musi być tego samego typu, co poprzedni. Pracował też dla mnie! Dziękuję Ci. –
Sprawdziło się idealnie dla mnie thanx! Używałem go ustawić relację nadrzędny w podkategorii:
<%= Html.DropDownListFor(
model => model.Category.ParentId,
new SelectList(Model.Categories,
"CategoryId",
"Name",
Model.Categories.Where(x => x.CategoryId == Model.Category.ParentId).Single()))%>
Jeroen
<%= Html.DropDownListFor(c => c.Client.StateProvince, new SelectList(Model.StateProvinces, "Id", "Name")) %>
i zastąpić toString() dla WojewództwoRegion wrócić Id, czyli:
return Id.ToString();
To działa, ale nie jest idealnym rozwiązaniem ...
Dennis
To jedyne rozwiązanie, które mi pomogło! Dzięki! –
Zrobiłem to w ten sposób. Działa dobrze.
Controller
IFarmModelInterface service2 = new FarmModelRepository();
ViewData["Farms"] = new SelectList(service2.GetFarmNames(), "id", "FarmName", "XenApp");
Zobacz
<%: Html.DropDownListFor(m => m.Farm, (ViewData["Farms"] as SelectList)) %>
public ActionResult AllUsers()
{
List<Users> users = userRep.GetUsers();
var listUsers = (from u in users.AsEnumerable()
select new SelectListItem
{
Text = u.UserName,
Value = u.UserId.ToString(),
Selected = (u.UserId==6)
}).AsEnumerable();
ViewBag.ListItems = listUsers;
//ViewBag.SelectedItem = 2;
return View();
}
W AllUsers.cshtml
<p>@Html.DropDownList("ListItems")</p>
public ActionResult AllUsers() {
List<Users> users = userRep.GetUsers();
var listUsers = (from u in users.AsEnumerable()
select new SelectListItem
{
Text = u.UserName,
Value = u.UserId.ToString(),
Selected = (u.UserId==6)
}).AsEnumerable();
// ViewBag.ListItems = listUsers;
ViewData["tempEmpList"]=listUsers;
return View(); }
Wypełnienie rozwijane
@Html.DropDownList("SelectedEmployee", new SelectList((IEnumerable) ViewData["tempEmpList"], "Id", "Name"))
To View - MVC Controller
@Html.DropDownListFor(m => m.Entity, new ABC.Models.DropDownPopulate().MyMethod, new { @class = "form-control input-inline input-medium" })
myMethod Uzyskaj lista danych wiążą się z rozwijanej Korzystanie SelectListItems
public List<SelectListItem> MyMethod
{
get
{
List<SelectListItem> dropdownList = new List<SelectListItem>();
var items = new DropDown_Bl().GetAll();
foreach (var item in items)
{
SelectListItem dropdownItem = new SelectListItem();
dropdownItem.Value = item.RnID.ToString();
dropdownItem.Text = item.Description;
dropdownList.Add(dropdownItem);
}
dropdownList.Insert(0, new SelectListItem() { Text = "Please Select", Value = "", Selected = true });
return dropdownList;
}
}
GETALL Method W Dropdown_Bl - Używane do pobierania danych z bazy danych
public List<My_Table> GetAll()
{
var Items = _Context.MyRepository.GetMany(q => q.Area == "ASD").ToList();
return Items ;
}
- 1. ASP.NET MVC + Populate DropdownList
- 2. Asp.Net MVC DropDownList Data Binding
- 3. ASP.net MVC DropDownList wstępnie wybrana pozycja ignorowane
- 4. Uzyskaj wybraną wartość DropDownList. Asp.NET MVC
- 5. DropDownList ustawienie wybranego elementu w asp.net MVC
- 6. ASP.NET MVC - Odśwież PartialView, gdy zmieniono DropDownList
- 7. Wiązanie DropDownList w MVC View
- 8. ASP.NET Auto Complete DropDownList
- 9. Jak style asp.net dropdownlist
- 10. Najlepszy sposób implementacji DropDownList w ASP.NET MVC 2?
- 11. Dodaj pustą wartość do DropDownList w ASP.net MVC
- 12. Wbudowana obsługa ASP.NET MVC dla szablonu edytora DropDownList
- 13. Model widoku ASP.NET MVC niewiążący w poście HTTP z DropDownList
- 14. Powiąż metodę ASP.NET DropDownList DataTextField z metodą?
- 15. Asp.Net MVC3 - Jak utworzyć Dynamic DropDownList
- 16. Wstawianie "spacji" w formantu DropDownList ASP.NET
- 17. Dodanie „onclick” przypisują ASP.NET DropDownList poz
- 18. ASP.NET DropDownList Problem: SelectedItem nie zmienia
- 19. Kaskadowe listy rozwijane w ASP.NET MVC 5
- 20. Kendo DropDownListFor() z ASP.NET-MVC
- 21. Dodaj separatory w DropDownList
- 22. ASP.NET MVC 4 Razor view nie rozpoznaje Dropdownlist do HTML Helper
- 23. ASP.NET MVC vs Spring MVC
- 24. Spring MVC vs ASP.NET (MVC?)
- 25. ASP.NET MVC vs. ASP.NET 4.0
- 26. Konwersja logiczną edytora własności do dropdownlist w widoku MVC
- 27. Wiązanie tablicy łańcuchowej z dropDownList w MVC Razor
- 28. DropdownList DataSource
- 29. ASP.NET MVC i Angularjs vs ASP.NET MVC i Reactjs
- 30. Wiele projektów ASP.NET MVC, które tworzą pojedynczą aplikację ASP.NET MVC
Proszę rozważyć zmianę tytułu pytania, aby był bardziej szczegółowy. –
Co musiałem zrobić, to mieć stronę edycji, na której edytuję informacje (obiektu domeny), w tym przypadku obiekt klienta. kiedy go edytuję, potrzebowałem części stanu formularza do rozwinięcia z listą stanów (standardowych elementów), ale po zapełnieniu jej, gdy jestem w trybie edycji, potrzebuję jej do wybrania stanu aktualnie edytowalny obiekt. Zapełniłem listę rozwijaną, ale obecny stan nie został wybrany. kiedy ustawiam nazwę DropDownList (reprezentowaną tutaj przez lambdę) na Id stanu (wartość, której używam dla pola wartości z rozwijalnej listy), dobrze mi poszło. – leebrandt