Подтвердить что ты не робот

В чем разница между .aspx и .aspx.cs?

Я не новичок в программировании, но новичок в Visual Studio, MVC, С#, ASP.NET и EXT.NET, то есть все инструменты, которые я пытаюсь использовать.

Я пытаюсь создать проект MVC4 Ext.Net 2.0 и был предоставлен аналогичный (по функциональности) проект без MVC для справки.

Я вижу, что этот проект не MVC имеет файлы .aspx и .aspx.cs. Кажется, что .aspx файл в основном сопоставляется с "Просмотр" в MVC, который я хочу сделать... И файл .aspx.cs имеет функции, относящиеся к файлу .aspx - так же, как и "Контроллер",? Хотя файл .aspx также имеет некоторые функции, которые, похоже, не полностью связаны с просмотром...

Может кто-нибудь дать мне быстрый обзор или место, чтобы начать с этого?

4b9b3361

Ответ 1

Файлы ASPX обычно имеют пользовательский интерфейс и будут, как правило, тегами HTML, некоторые ASP.NET-сервера для встраивания кода (что в конечном итоге приводит к некоторым разметкам HTML). Файл ASPX.CS(обычно называемый codebehind) будет иметь кодировку на стороне сервера на С#.

Если необходимо, я бы связал страницу ASPX с View и ASPX.CS с методами действий контроллера.

Вы должны помнить, что в веб-формах есть элементы управления ASP.NET, которые мы будем использовать в файле ASPX для визуализации некоторого HTML. Примерами являются TextBox, DataGrid и т.д. В MVC ничего не называется Server control. Вид будет чистым, рукописным HTML.

При необходимости вы можете создать гибридный проект, который представляет собой комбинацию MVC и веб-форм. У Скотта есть сообщение об этом здесь.

Нет ViewState в MVC:)

При переключении с веб-форм ASP.NET на MVC важно помнить, что MVC-архитектура пытается придерживаться истины, что HTTP является апатридом. В MVC нет viewstate. Поэтому вам необходимо убедиться, что вы переполняете данные в каждом HTTP-запросе, если это необходимо. Обычно пользователи сталкиваются с проблемами при загрузке DropDownlist в MVC. Есть много ответов здесь, в SO о том, как обрабатывать выпадающие списки при обратной передаче (при отправке формы).

Я предлагаю вам заглянуть в начальный уровень tutorials на ASP.NET MVC и начать пошаговое создание приложения, шаг, и если вы столкнетесь с какими-либо проблемами, отправьте вопрос (новый) с соответствующими сведениями.

Удачи, и добро пожаловать в прекрасный мир MVC.:)

Ответ 2

Похоже, что вы не создали проект MVC, а скорее проект WebForms.

Файлы *.aspx - это разметка, а файлы *.aspx.cs - файлы с кодом. Файлы с кодовым кодом обрабатывают код .NET для любых серверных элементов управления в файлах *.aspx.

Ответ 3

В файле aspx содержится разметка вашей страницы. Он автоматически преобразуется в код ASP.NET.

Файл cs содержит код за вашей страницей (инициализация, обработчики событий и т.д.). Вы должны сами написать этот код.

Эти два файла связаны с наследованием, а атрибут Inherits директивы @Page сопоставляет разметку страницы с кодом

Ответ 4

Оформление документа Wikipedia на ASP.NET, http://en.wikipedia.org/wiki/ASP.NET.

В нем указано:

Веб-формы содержатся в файлах с расширением ".aspx"; эти файлы обычно содержат статическую (X) HTML-разметку, а также разметку, определяющую серверные веб-элементы управления и элементы управления пользователями, на которых размещаются разработчики все содержимое rc для веб-страницы. Кроме того, динамический код, который выполняется на сервере, может быть помещен в страница внутри блока <% - динамический код -% > , который аналогичен другие технологии веб-разработки, такие как PHP, JSP и ASP. С ASP.NET Framework 2.0, Microsoft представила новую модель кода который позволяет статическому тексту оставаться на странице .aspx, тогда как динамический код остается в файлах .aspx.vb или .aspx.cs или .aspx.fs(в зависимости от используемый язык программирования).

Имена файлов .csx.aspx.cs - это код, который находится в файле .aspx, который обычно содержит элементы управления html, css, javascript и других клиентских элементов.

Как правило, динамический код (С# в этом случае из-за .cs на имя файла) идет в файле .cs как "хорошая практика", чтобы разделить динамический код и статический html. Другая причина для этой абстракции заключается в том, что код .aspx.cs запускается на стороне сервера, а файл .aspx скомпилирован на сервере и затем отправляется веб-клиенту, запрашивающему его.

Кроме того, для MVC я бы предложил использовать другую модель представления, в частности Razor, которая использует файлы .cshtml вместо .aspx.cs и .aspx, потому что их легче отслеживать. Причиной изменения MVC является то, что MVC использует шаблон MVC для абстрактных слоев кода, так что .aspx и .aspxcs не нужны. Из личного опыта я использовал модели просмотра Razor и Webforms (.aspx/.aspx.cs) с MVC, и я считаю, что Razor намного проще кодировать/поддерживать и использовать.

Ответ 5

.aspx - ваш файл разметки. Содержит такие вещи, как HTML, CSS, JavaScript и разметка ASP. этот файл .cs называется файлом codebehind. Здесь вы делаете то, что может быть недоступно, или вам не удобно делать на языках сценариев. Обычно aspx запускается на стороне клиента, а код на нем выполняется на сервере.