Asp.Net Webforms Vs Asp.Net WebSite (Razor) против Asp.Net MVC - программирование

Asp.Net Webforms Vs Asp.Net WebSite (Razor) против Asp.Net MVC

Я думаю, что у Microsoft должна быть причина для улучшения ASP.Net с синтаксисом RAZOR.

В диалоговом окне "Создание нового веб-сайта" в visual studio существует еще один вариант для создания ASP.Net(Razor). В первый раз, когда я наткнулся на термин Razor, когда я прочитал книгу о Asp.Net MVC, я не знал, что она существует для ASP.Net

enter image description here

Я знаю, для чего нужен синтаксис Razor, представленный в MVC 3. Прежде чем задать этот вопрос, я решил создать тестовый проект для ASP.Net(Razor) и посмотреть, как он отличается от обычных веб-форм ASP.Net и ASP.Net MVC. Я не обнаружил никаких папок Model/View/Controllers, таких как MVC.

Я обнаружил, что главная страница задана по-разному, а главная страница чище, не более <asp:ContentPlaceHolder />

Но мои вопросы:

  • Я заметил, что он использует .cshtml, нет ли больше кодовых имен?
  • сходства и различия между ASP.Net(Razor) и ASP.Net MVC
  • Можно ли его расширить до такой функции, как ASP.Net MVC, например. добавление контроллера? Просмотр/модель, пользовательская маршрутизация Я думаю?
  • Почему это существует, когда у нас есть ASP.Net MVC? Не станет ли это нежеланием переходить на ASP.Net MVC?
  • и почему вы выбираете ASP.Net + Razor поверх ASP.Net MVC?

UPDATE: Веб-страницы ASP.NET, в частности, были разработаны, чтобы упростить люди, которые уже знают HTML, чтобы добавить обработку серверов на свои страницы. Это хороший выбор для студентов, любителей, людей в целом, которые новый для программирования. Это также может быть хорошим выбором для разработчиков, которые иметь опыт работы с веб-технологиями nonASP.NET

Обновить Веб-страницы ASP.NET Веб-страницы ASP.NET предназначены для разработчиков, которым нужна простая история веб-разработки, в соответствии с PHP, В модели веб-страниц вы создать HTML-страницы, а затем добавить на страницу код на сервере. чтобы динамически контролировать способ рендеринга этой разметки. Веб-страницы специально разработанная для облегчения работы, и простейшая точка входа в ASP.NET для людей, которые знают HTML, но могут не имеют широкого опыта программирования - например, студенты или аквариумисты. Это также хороший способ для веб-разработчиков, которые знают PHP или аналогичные структуры для начала использования ASP.NET.

Веб-страницы Asp.Net

Пожалуйста, мне нужно ваше техническое мнение. Спасибо.

4b9b3361

Ответ 1

Это отличный вопрос. Во-первых, давайте охарактеризовать Razor.

Razor - это движок, который анализирует код на стороне сервера, испускает Html, как и ASP.NET Web Forms, только с различным и, возможно, более упорядоченным и кратким синтаксисом.

Боковая панель Razor v. Web Forms: в веб-формах ASP.NET вам нужно определить, когда вы хотите начать писать код сервера с '<%', а затем, когда вы закончили писать код сервера, вам нужно было определить, что с ' % > ". Я люблю веб-формы ASP.NET, но это неуклюже. С помощью Razor вы определяете, когда хотите начать писать код сервера с помощью" @ ", а затем при следующем запуске записи тега сервера (начиная с" < ") он" выясняет", что вы закончили с кодом сервера. Это более сжатый способ написать html, смешанный с некоторым кодом сервера.

Веб-страницы ASP.NET - это основа для создания простых веб-приложений. ASP.NET MVC - это среда для создания веб-приложений с помощью Web Forms или Razor с использованием шаблона Model-View-Controller (MVC). ASP.NET Web Forms - это среда для создания веб-приложений с использованием механизма визуализации Web Forms.

В конечном итоге цель состоит в том, чтобы обеспечить выбор, основанный на сложности разработки приложения. Понимание каждого из них поможет вам сделать правильный выбор для вашего приложения.

Дополнительные ссылки:

Ответ 2

В шаблоне MVC M - это модель, C - контроллер, а V - вид. Итак, вполне естественно, в модели ASP.NET MVC существует концепция View Engine. Бритва - это просто один из представленных механизмов просмотра. Другой, предоставленный из коробки, - это "старый" WebForms (вы также можете написать свой собственный движок просмотра). Поэтому у Razor нет понятия кода, который остается в пределах границ браузера WebForms.

Итак, этот вид говорит все. Razor обрабатывает часть просмотра MVC (если вы решите использовать ее вместо WebForms). Это не имеет ничего общего с M или C.

Лично я бы определенно пошел на Razor View Engine, если вы выберете шаблон ASP.NET MVC или используете простые WebForms без MVC, так как Razor был разработан как менее подробный, более простой в использовании, чем Webforms. Он также просто более поздний, поэтому он пытается... просто лучше: -)

В качестве побочного примечания, Razor Parser также может использоваться вне ASP.NET MVC. Он реализован в сборке, которая вообще не полагается на MVC и Web-сборки. Подробнее см. Здесь: http://www.west-wind.com/weblog/posts/2010/Dec/27/Hosting-the-Razor-Engine-for-Templating-in-NonWeb-Applications

Ответ 3

По умолчанию нет кодовых задержек, но вы можете легко наследовать свой файл бритвы из своего пользовательского класса:

@inherits Index

а затем

public class Index : WebViewPage { }

(Подробнее здесь: http://www.compiledthoughts.com/2011/01/aspnet-mvc3-creating-razor-view-engine.html)

Это больше похоже на старомодный способ сделать Интернет, более похожий на MP3. Разница с mvc заключается в том, что mvc предоставляет огромную структуру, которая поддерживает приложения реального мира (с использованием маршрутизации, контроллера и действий, а не только "код там в разметке" ).

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

Наконец, я всегда выбирал asp.net mvc с бритвой.

Надеюсь, что это поможет

Ответ 4

Ну, у вас есть два варианта:

  • Используйте WebForms: используйте готовые к использованию элементы управления на стороне сервера (смешанная разметка и бизнес-коды) и используйте мастер-страницы и скины, но сталкивайтесь с некоторыми сложностями, связанными с этими удобствами!:)

  • Используйте MVC: или используйте отдельную модель дизайна, которая дает вам более организованную базу кода. вы можете сначала создать прототип дизайна или сначала создать бизнес-коды, а затем создать другой аспект, довольно просто. даже вы можете дать дизайнеру больше контроля над своей работой, предоставляя ему возможность делать все, что он хочет. - > это мой предпочтительный выбор, потому что он дает мне больше контроля над моим кодом, делает мой код более кратким и чистым.

Если вы выбрали шаблон MVC, то вы столкнулись с другими вариантами... View Engines

  • Старый MVC View Engine: это неплохо, но немного подробный
  • Razor Engine: он делает то же самое, что и # 1, почему вы никогда не хотите его использовать?! он не заменяет ничего из шаблона MVC. он также более лаконичен и прост, у вас есть как MVC, так и простота Razor Engine. Razor - более умный синтаксис разметки, который помогает вам сосредоточиться на своем бизнесе, а не писать "<%" s! используя синтаксис бритвы, вам предоставляется только преимущество, полная мощность MVC у вас под рукой!

Вы также можете написать простые веб-страницы asp.net с помощью синтаксиса бритвы (С# или VB). (точно так же, как php)

  • Мой личный выбор - MVC + Razor, лучшая комбинация!

Ответ 5

  • В MVC, период нет "кодовых задержек". У вас есть контроллеры, которые существуют как для Razor, так и для non-Razor.
  • Это всего лишь два разных типа разметки. (См. Следующий ответ)
  • Это не замена MVC, это просто еще один вариант. Традиционная разметка очень многословна. Синтаксис бритвы является кратким.

Ответ 6

Чтобы избавиться от всего путаницы с помощью webform, MVC, Razor, WebPages и многого другого, чтобы прибыть из Microsoft, я предпочитаю html → javascript → webapi.