Сравнение синтаксиса Razor vs ASPX - программирование
Подтвердить что ты не робот

Сравнение синтаксиса Razor vs ASPX

Недавно я попадал в MVC3 и Razor и читал несколько статей об этих темах, чтобы лучше понять концепцию.

Я читал пост в блоге Скотта Гатри, в котором он приводит следующие 2 примера. Первый - синтаксис ASPX, второй - синтаксис Razor:

enter image description here

enter image description here

Это здорово, но, как справедливое сравнение ASPX и Razor, я немного смущен.

Я никогда не видел ни одного рабочего примера синтаксиса ASPX. Разумеется, разработчики использовали элементы управления Repeater и т.д., Так как был выпущен ASP.NET? Я не видел такого синтаксиса, как классический ASP.

Я всегда считал, что неправильная практика заключается в том, чтобы ввести программный код в строку с файлом разметки вместо кода, лежащего за файлом.

Создаются ли какие-нибудь ASP.NET-разработчики ASP.NET?

4b9b3361

Ответ 1

Я думаю, что вы определенно путаетесь. Ваш первый пример не является традиционным asp.net. Это то, что использовал механизм рендеринга MVC для использования предварительного бритвы (MVC 1 и MVC 2, который, как я считаю, называется механизмом просмотра WebForms).

Я очень уверен, что вы не можете использовать foreach на традиционных страницах ASP.Net. (комментарий Veli исправил меня на этом)

С MVC 3 вы можете использовать механизм просмотра Razor, который, как вы можете видеть в этом примере, гораздо читабельнее. Конечно, с MVC 3 вы все равно можете сделать это по-другому, это вариант, который вы выбираете при создании начального проекта.

Подробнее о различиях читайте здесь

Ответ 2

Создаются ли какие-нибудь ASP.NET-разработчики ASP.NET?

Я сомневаюсь. Разработчики Classic WebForms используют серверные элементы управления, такие как ретрансляторы.

Разработчики ASP.NET MVC, с другой стороны, очень сильно используют этот синтаксис. Ну, на самом деле вы можете использовать Display Templates в ASP.NET MVC, который позволяет вам писать уродливые петли foreach.

Ответ 3

Я всегда считал, что неправильная практика заключается в том, чтобы ввести программный код в строку с файлом разметки вместо кода, лежащего за файлом.

Это верно для разработчика С# WinForm/WPF, использующего архитектуру MVVM. Но, по-моему, по-прежнему хорошей практикой является внедрение встроенного программного кода в ASP.NET MVC.

Ответ 4

Не путайте код программирования и код, чтобы отобразить свойство. Плохая практика - поставить программный код в файл разметки. Однако код, который вы показываете, является кодом, используемым для создания разметки.

MVC следует рассматривать как обычную среду MVC, и весь логический код должен находиться в контроллере.