Witam
Proszę o pomoc w zaprogramowaniu przesyłania danych z formularza.
Mam poprawić projekt sondy internetowej - działa oddawanie głosów, natomiast mam problem ze zliczaniem głosów.
Stworzyłem coś takiego:
[kontroler]
[HttpPost]
public ActionResult Index(int? page,Pytanie pyt )
{
const int pageSize = 5;
List<Pytanie> pe = new List<Pytanie>();
List<Pytanie> pagedBooks = new PageList<Pytanie>(pe, page ?? 0, pageSize);
ViewData["odp"] = pyt.Odpowiedzi;
if (pyt.Odpowiedzi == pyt.OdpowiedzA)
{
pyt.LiczA++;
}
else if (pyt.Odpowiedzi == pyt.OdpowiedzB)
{
pyt.LiczB++;
}
else if (pyt.Odpowiedzi == pyt.OdpowiedzC)
{
pyt.LiczC++;
return View("Wynik");
}
return View("Wynik");
}
Odpowiedzi jest to string, który przechowuje ciąg znaków na który użytkownik zagłosował.
OdpowiedzA, OdpowiedzB i OdpowiedzC są to własności stringowe, które przechowują 3 odpowiedzi na pytania (na razie do każdego pytania są 3 odpowiedzi).
W widoku mam coś takiego:
<% using (Html.BeginForm())
{ %>
<td>
<%: item.Id%>
</td>
<td>
<%: item.tresc%>
</td>
<td>
<%: Html.RadioButton("Odpowiedzi", item.OdpowiedzA, new { id = "wybralesA" })%> <%: item.OdpowiedzA%>
<%: Html.Hidden(item.OdpowiedzA) %>
</td>
<td>
<%: Html.RadioButton("Odpowiedzi", item.OdpowiedzB, new { id = "wybralesB" })%> <%: item.OdpowiedzB%>
<%: Html.Hidden(item.OdpowiedzB) %>
</td>
<td>
<%: Html.RadioButton("Odpowiedzi", item.OdpowiedzC, new { id = "wybralesC" })%> <%: item.OdpowiedzC%>
<%: Html.Hidden(item.OdpowiedzC) %>
</td>
<td>
<input type="submit" value="Głosuj" />
<% } %>
Niestety jak do tej pory sprawdzałem debugerem warunek **if (pyt.Odpowiedzi == pyt.Odpowiedz[wybrana]) ** i okazało się, że nie spełnia się.
Mój nauczyciel podpowiedział, że należy tu wykorzystać html'owski hiddeny, ale coś takiego nie działa...
Doradzał też hiddenfor, ale z tamtym też mam problem.
Proszę o pomoc w prostym rozwiązaniu tego problemu.