Ik ben aan het kijken om een bepaald aanvraagformulier te maken voor een website in MVC. Deze aanvraagformulieren werden normaal in ASPX hard gemaakt, maar nu deze site over kan naar MVC lijkt het me het makkelijkst om deze dynamisch te maken.
Ondertussen heb ik dit voor Checkboxen al prima werkend, echter moet er ook een mogelijkheid met radiobuttons zijn en hierop loop ik vast.
Ik krijg de radiobuttons netjes vanuit de DB opgebouwd, echter in de POST krijg ik geen waarde door in mijn model. Bij de checkboxen werkt dit wel.
Zie ik iets over het hoofd?
Ik heb onder andere deze resource gebruikt:
http://www.c-sharpcorner....-in-various-way-in-mv201/
Hoe het er nu uit ziet (eingzins gestript)
Tevens, checks zoals null zitten er nog niet in aangezien het puur even om het PoC gaat voor mij.
Model:
Controller:
View:
Ondertussen heb ik dit voor Checkboxen al prima werkend, echter moet er ook een mogelijkheid met radiobuttons zijn en hierop loop ik vast.
Ik krijg de radiobuttons netjes vanuit de DB opgebouwd, echter in de POST krijg ik geen waarde door in mijn model. Bij de checkboxen werkt dit wel.
Zie ik iets over het hoofd?
Ik heb onder andere deze resource gebruikt:
http://www.c-sharpcorner....-in-various-way-in-mv201/
Hoe het er nu uit ziet (eingzins gestript)
Tevens, checks zoals null zitten er nog niet in aangezien het puur even om het PoC gaat voor mij.
Model:
C#:
1
2
3
4
5
6
| public class AanvraagModel { public List<CheckBox> OptiesCbx { get; set; } public List<RadioButton> OptiesRbl { get; set; } } |
Controller:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| [HttpGet] public ActionResult Aanvraagformulier(int id) { AanvraagModel model = new AanvraagModel(); IEnumerable<Aanvraagformulieren> formulier = (from b in db.Aanvraagformulieren where b.ID == id select b); List<CheckBox> checkboxen = new List<CheckBox>(); List<RadioButton> radiobuttons = new List<RadioButton>(); foreach (Aanvraagformulieren item in formulier) { switch (item.Item) { //Checkbox case 1: checkboxen.Add(new CheckBox { Text = item.Text }); break; //radiobutton case 2: radiobuttons.Add(new RadioButton { Text = item.Text, ID = item.Text}); break; } } model.OptiesCbx = checkboxen; model.OptiesRbl = radiobuttons; return View(model); } [HttpPost] public ActionResult Aanvraagformulier(AanvraagModel model) { int x = 9; //Voor debug om in de model te kijken. return View(model); } |
View:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
| @if (Model.OptiesRbl.Count > 0) { <div class="form-group"> @Html.LabelFor(model => model.OptiesRbl, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @for(int i = 0; i < Model.OptiesRbl.Count; i++) { @Html.RadioButtonFor(model => model.OptiesRbl, Model.OptiesRbl[i].ID) @Html.DisplayFor(model => Model.OptiesRbl[i].Text) <br /> } </div> </div> } |
[ Voor 6% gewijzigd door tha_crazy op 24-03-2016 14:28 ]