NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: ASP.net MVC template login a registration

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Fenrix
Člen
Avatar
Fenrix:1.12.2017 19:56

Ahoj,
vytvořil jsem si vlastní html statickej web a následně přidělal do views předpřipraveného template, který se vytvoří při vytvoření nového asp.net mvc projektu.

Můj problém spočívá v tom, že formuláře na login i registraci mám na jedné stránce (pro představu jako facebookvá úvodní stránka). Template views na login a registraci jsou ovšem podle controlleru v /Account/Register a /Account/Login.
Moje otázka je, zda lze ponechat takto oddělené views na login a registraci s tím, že bych si do té složky dal moji úvodní stránku a v momentě, kdy bych pracoval s Login view, byla na stránce viditelná i Register view. Nevím jak tu myšlenku pořádně vyjádřit, snad je to srozumitelný.
Zkrátka zda je možné mít jeden pohled (viz úvodní FB stránka) na kterém by byly controllery pro login a registraci a jak je možné to udělat?
Předem děkuji :)

 
Odpovědět
1.12.2017 19:56
Avatar
Odpovídá na Fenrix
Michal Štěpánek:1.12.2017 20:24

Musí to jít. Určitě existuje sofistikovanější způsob, ale dá se to řešit třeba takto:
Vytvoříš si ViewModel - tam si dáš vše, co chceš mít zobrazené, k tomu spácháš zobrazovací Controller a z něho pak View. Na stránce budeš mít tlačítka jak pro login, tak i pro novou registraci a podle toho, jaké tlačítko je stisknuto, přesměruješ v Controlleru (třeba pomocí switch) na akci Register nebo Login...

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
1.12.2017 20:24
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Fenrix
Člen
Avatar
Odpovídá na Michal Štěpánek
Fenrix:1.12.2017 20:55

Takhle mě nenapadlo se na to podívat, děkuji :)
ještě pro doplnění bych se rád zeptal - dejme tomu, že máme stejná příklad - controller je /Account/Register a view je /Home/Index
V controlleru je návratová metoda return view (model) (pro případ, kdy je registrace špatně vyplněná a nechci aby se ztratily již vyplněný data při neúspěšným odeslání. Jakým způsobem vrátim pohled tohoto controlleru na /home/index, aby se data neztratila?

 
Nahoru Odpovědět
1.12.2017 20:55
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Fenrix
vajkuba1234:1.12.2017 21:06

Projdi si zdejsi tutorial na asp.net mvc. Mas tam i validace vstupu...

Nahoru Odpovědět
1.12.2017 21:06
No hope, no future, JUST WAR!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.