Diskuze: MVC 5, RadioButton
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Těžko ti teď někdo řekne, proč ti to nefunguje, dej sem kus kódu.
Když kliknu na stránce na A - Z, tak se mi setřídí data podle příjmení, které začíná na dané písmeno. Teď bych tam chtěl přidat RadioButton, který uživateli umožní aby si mohl zvolit, zda se bude třídit podle jména nebo příjmení. Takže vyberu radioButton jméno, kliknu na a a zobrazí mi to jména začínající na A. Vyberu radiobutton příjmení, kliknu na A a zobrazí se mi příjmení začínající na A. Samotné zobrazování A - Z mi funguje, jen nevím, jak předat data z radiobuttonu do controlleru a následně to odeslat se zvoleným písmenem.
View:
@using (Html.BeginForm())
{
<div class="form-inline">
<div class="form-group">
<div class="form-horizontal">
@Html.ActionLink("ALL", "Index", new { sortLetter = "" }) |
@Html.ActionLink("A", "Index", new { sortLetter = "A" }) -
@Html.ActionLink("B", "Index", new { sortLetter = "B" }) -
@Html.ActionLink("C", "Index", new { sortLetter = "C" }) -
@Html.ActionLink("D", "Index", new { sortLetter = "D" }) -
@Html.ActionLink("E", "Index", new { sortLetter = "E" }) -
@Html.ActionLink("F", "Index", new { sortLetter = "F" }) -
@Html.ActionLink("G", "Index", new { sortLetter = "G" }) -
@Html.ActionLink("H", "Index", new { sortLetter = "H" }) -
@Html.ActionLink("I", "Index", new { sortLetter = "I" }) -
@Html.ActionLink("J", "Index", new { sortLetter = "J" }) -
@Html.ActionLink("K", "Index", new { sortLetter = "K" }) -
@Html.ActionLink("L", "Index", new { sortLetter = "L" }) -
@Html.ActionLink("M", "Index", new { sortLetter = "M" }) -
@Html.ActionLink("N", "Index", new { sortLetter = "N" }) -
@Html.ActionLink("O", "Index", new { sortLetter = "O" }) -
@Html.ActionLink("P", "Index", new { sortLetter = "P" }) -
@Html.ActionLink("Q", "Index", new { sortLetter = "Q" }) -
@Html.ActionLink("R", "Index", new { sortLetter = "R" }) -
@Html.ActionLink("S", "Index", new { sortLetter = "S" }) -
@Html.ActionLink("T", "Index", new { sortLetter = "T" }) -
@Html.ActionLink("U", "Index", new { sortLetter = "U" }) -
@Html.ActionLink("V", "Index", new { sortLetter = "V" }) -
@Html.ActionLink("W", "Index", new { sortLetter = "W" }) -
@Html.ActionLink("X", "Index", new { sortLetter = "X" }) -
@Html.ActionLink("Y", "Index", new { sortLetter = "Y" }) -
@Html.ActionLink("Z", "Index", new { sortLetter = "Z" })
</div>
</div>
</div>
}
HomeController:
private UsersContext db = new UsersContext();
public ActionResult Index(string sortLetter)
{
var users = from u in db.Users
select u;
// Třídění A - Z
users = users.Where(o => o.LastName.ToUpper().StartsWith(sortLetter.ToString()));
return View(users.ToList());
}
Asi bych to zkusil nějak "oifovat". Klikneš na písmeno, provede se kontrola, který radiobutton je "selected" a podle toho by byl filtr pro výběr ze sloupce jména nebo příjmení...
users1 = users.Where(o => o.LastName.ToUpper().StartsWith(sortLetter.ToString()));
users2 = users.Where(o => o.FirstName.ToUpper().StartsWith(sortLetter.ToString()));
if (radiobutton1.selected = true)
users = users1;
else
users = users2;
nebo něco podobného. S radiobuttonama v podstatě nedělám, takže si nepamatuju, které vlastnosti se tam dají použít...
To je právě ten problém, že netuším, jak vytvořit radiobutton ve View tak, abych mohl ověřit jeho stav true/false.
Případně, jakou jinou kontrolkou byste to řešili?
Nebo třeba kdybych chtěl místo radiobuttonu použít dropdownlist. Ze zdejších tutoriálů vím, jak předat data do modelu, ale vůbec netuším, jak je přímo z view předat do controlleru.
Zobrazeno 6 zpráv z 6.