Przekazanie wartości z widoku do kontrolera

Przekazanie wartości z widoku do kontrolera
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, mam problem z przekazaniem wartości z widoku do kontrolera mianowicie:

Widok

Kopiuj
<form action="/Kontroler/TestIndex" method="post">
    <input type="text" name="textBoxStringData" />
    <input type="checkbox" name="checkboxData" />
    <input type="number" name="textBoxIntData" />

    <input type="submit" value="Submit " />
</form>

Kontroler:

Kopiuj
 [HttpPost]
        public ActionResult TestIndex(string textBoxStringData, int textBoxIntData, string checkboxData)
        {
            return View();
        }

Jak odpalam powyższy kod otrzymuje:

Błąd serwera w aplikacji '/'.
Nie można znaleźć zasobu.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Sprawdź w narzędziach developerskich pod jaki adres próbuje tego posta wysłać. Zapewne parametr form action masz niepoprawny i kieruje akcję pod nieistniejący URL.

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki za podpowiedź. Tak wygląda mój RoutConfig standardowo:

Kopiuj

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

Jeśli mam akcje

Kopiuj
<form action="/Kontroler/TestIndex" method="post">

powinno wysłać do kontrolera "Kontroler" i akcji TestIndex

Kopiuj
public ActionResult TestIndex(string textBoxStringData, int textBoxIntData, string checkboxData)

Jak moge sprawdzić w visual studio gdzie Post wysyła akcje, pod jaki URL ?

DU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 143
0

Ale checkbox dale wartoś bool tj. true lub false więc może zmień kontroler na
public ActionResult TestIndex(string textBoxStringData, int textBoxIntData, bool checkboxData)

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Sprawdź to narzędziami przeglądarki, przez VisualStudio się nie da.
Na mój gust to nazwa klasy Twojego kontrolera nie ma sufiksu Controller, więc zwyczajnie framework go nie znajduje.

W ogóle po co piszesz HTML ręcznie zamiast użyć helperów?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.