4 ответов:
как другие люди ответили,
.cshtml(или.vbhtmlесли это ваш вкус) предоставляет обработчик-сопоставление для загрузки двигателя MVC. Элемент
бритва посмотреть двигатель для ASP.NET MVC, а также a шаблонизатор. Код бритвы и ASP.NET встроенный код (код, смешанный с разметкой) сначала компилируется и превращается во временную сборку перед выполнением. Таким образом, так же, как C# и VB.NET оба компилируются в IL, что делает их взаимозаменяемыми, Razor и встроенный код являются взаимозаменяемыми.
поэтому это больше вопрос стиля и интерес. Я более комфортно с бритвой, скорее чем ASP.NET встроенный код, то есть я предпочитаю страницы Razor (cshtml).страница ASPX.
представьте, что вы хотите получить
Humanкласс, и визуализировать его. В cshtml файлы вы пишете:<div>Name is @Model.Name</div>а в aspx файлы вы пишете:
<div>Name is <%= Human.Name %></div>Как видите,
@знак бритвы делает смешивание кода и разметки намного проще.
хотя синтаксис, безусловно, отличается между Razor (
.cshtml/.vbhtml) и WebForms (.aspx/.ascx), (бритва является более кратким и современным из двух), никто не упомянул, что в то время как оба могут быть использованы в качестве двигателей просмотра / шаблонов двигателей, традиционных ASP.NET элементы управления веб-форм можно использовать на любом .aspx или .файлы ascx, (даже в единстве с архитектурой MVC).это актуально в ситуациях, когда давние решения проблемы были установленный и упакованный в подключаемый компонент (например, управление загрузкой большого файла), и вы хотите использовать его на сайте MVC. С бритвой ты не сможешь этого сделать. Тем не менее, вы можете выполнить все те же бэкэнд-обработки, которые вы будете использовать с традиционным ASP.NET архитектура с видом веб-формы.
кроме того, ASP.NET представления веб-форм могут иметь файлы с выделенным кодом, что позволяет встроить логику в отдельный файл, который компилируется вместе с представлением. В то время как программное обеспечение сообщество разработчиков растет, чтобы увидеть тесно связанные архитектуры и умный шаблон клиента как плохая практика, раньше это был основной способ делать вещи, и все еще очень возможно .aspx/.файлов ascx. Бритва, намеренно, не имеет такого качества.
файлы Cshtml-это те, которые используются Razor И, как указано в ответе за этот вопрос, их главным преимуществом является то, что они могут быть представлены внутри модульных тестов. Различные ответы на эту другую тему принесут много других интересных моментов.
Comments