Przekazywanie argumentu przez View

0

W Controlerach zwracamy przeważnie View(...). Jeśli nie określimy o które View nam chodzi to domyślnie brana jest nazwa controlera. W View możemy również określić o który dokładnie View nam chodzi np. View("Moje_View"). Ale w View możemy przekazywać również Model, który może być również stringiem np. View("zmienna_string").
Moje pytanie brzmi: Jak ASP.NET rozpoznaje czy przekazy parametr to nazwa vidoku czy zmienna, ktorą później będę mógł chcieć wykorzystać w widoku?

0
var model = "asdf";
return View(model: model);
0

Nie rozpoznaje, jeśli podasz jeden string, to uzna, że to nazwa widoku. Jeśli chcesz przekazać string jako model, to musisz wywolać wersję View(object) czyli jawnie zrzutować ten string na object.
Albo zrobić poprawnie, i nie używać stringa jako modela dla widoku, tylko zrobić jakąś swoją klasę.

0

@somekind wybacza za może głupie pytane, ale czy przypadkiem string nie jest również Object-em?

0

Jest, ale overloading działa tak, że szuka najlepiej dopasowanej metody do wywołania, więc jeśli jedna przyjmuje string, a druga object, to dla stringa wywoła się ta pierwsza.

0

Dzięki za wyjaśnienie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1