2008-12-10 12 views
5

Jestem nowy w MVC i zauważam, że strony widoku mogą wyglądać dość nieprzyjemnie ze wszystkimi wymieszanymi znacznikami skryptu. Czy ma sens generowanie kodu HTML w metodzie w widoku z tyłu kodu, a następnie wystarczy wstawić wynik łańcucha metody jako pojedynczy bit skryptu?Widoki ASP.NET MVC - Czy mogę użyć kodu źródłowego?

Na przykład: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

Jest to sprzeczne z filozofią MVC? Głupi z jakiegoś innego powodu, na przykład występu? Czy ma jakieś zalety?

Odpowiedz

1

OK, napisz kolejną dla krzywej uczenia się. Myślę, że mogłem znaleźć odpowiedź na moje własne pytanie ...

ASP MVC pozwala zainstalować własne niestandardowe mechanizmy wyświetlania, z których można korzystać (zamiast domyślnego silnika widoku ASP.NET). Możesz więc kontrolować generowanie html. Gdy już wiemy co szukać, jego łatwe :)

Tu jest dobre miejsce, aby zacząć: Custom View Engine Example

@Rajesh - Dzięki za wielkie linków!

0

Możesz również użyć kodu z tyłu. To tylko kwestia preferencji stylu.

10

To kwestia praktyki.

Oto ciekawa lektura.

  1. Codebehind files are evil

  2. Codebehind files are not evil

Również tam ciekawy artykuł "Rob Conery"

  1. Inline Scripting and Code behind

Wybór należy do Ciebie. To zależy od twojej aplikacji architecuture, jak chcesz ją ukształtować, bla bla ...

Sądzę, że zaletą widoków bez funkcji codebehind jest to, że znacznie łatwiej jest przełączyć się na inny viewengine, który nie obsługuje codebehind.

Chociaż będzie trochę pracy, ale nadal będzie dużo płynnie.

1

Nie zrobiłbym tego. Trzeba tylko poważnie zapomnieć o pliku codebehind. W rzeczywistości w MVC Framework RC1 domyślnie nie ma pliku codebehind dla twoich widoków. Niezależnie od przetwarzania C#, które chcesz wyświetlać, możesz to zrobić bezpośrednio z kodem HTML. Jeśli myślisz o przetwarzaniu danych, zrób sobie przysługę i umieść w kontrolerze.

To jest zmiana paradygmatu, najlepiej po prostu przełamać swoje stare przyzwyczajenia.

Powiązane problemy