Obecnie pracuję nad aplikacją ASP.NET MVC 3, w której mam określony widok, który jest ustawiony jak kreator (za pomocą wtyczki jQuery). Każdy krok kreatora jest częścią pojedynczej formy, gdzie każdy "krok" jest podzielony na swój własny element <div>
. Postanowiłem stworzyć częściowe widoki dla zawartości każdego "kroku". Zrobiłem to z kilku powodów. Jedną z nich jest to, że utrzymuje kod dla każdego kroku schludny i zorganizowany. Drugim jest to, że pozwala mi łatwiej/starannie włączyć lub wyłączyć kroki od kreatora po stronie serwera.Czy uważa się za złą praktykę dzielenie pojedynczego formularza na wiele częściowych widoków?
Teraz my „głównym” Widok wygląda mniej więcej tak:
@using (Html.BeginForm)
{
<div class="step" id="step1">
@Html.Partial("Step1")
</div>
<div class="step" id="step2">
@Html.Partial("Step2")
</div>
}
Zastanawiam się, czy robi coś takiego byłoby uznane za złą praktyką i jeśli mam tylko konsolidować kod dla wszystkich „krokach "w jeden widok?
Dzięki Steve. Jedną kwestią, o której mówiłem, jest to, jak postępować z modelem widoku. Zazwyczaj lubię mieć jeden model widoku na widok/częściowy widok. Jeśli utworzyłem modele widoku dla każdego z widoków częściowych, a następnie przekazałem je jako parametry do 'Html.Partial' nie mógłbym potencjalnie uruchomić problemów związanych z wiązaniem, gdy formularz został wysłany z powrotem do serwera/kontrolera? –
Takie podejście może być pomocne również w niektórych przypadkach. Jeśli twój częściowy Krok 2 został zaprojektowany w taki sposób, mógłby zostać ponownie użyty. Na przykład, być może krok 2 może być użyty na stronie tworzenia/wstawiania, a także na stronie, która służy jako funkcja aktualizacji/edycji. –
Dopóki identyfikatory ids pól wejściowych są względne w stosunku do modelu nadrzędnego, nie będzie. Ale jeśli nie zamierzasz ponownie korzystać z częściowych widoków z innymi modelami, nie musisz przekazywać niczego poza głównym modelem. –