Добавление контроллера (VB)
В этом руководстве описаны основы создания веб-приложения ASP.NET MVC с помощью Microsoft Visual Web Developer 2010 Express с пакетом обновления 1 (SP1), который является бесплатной версией Microsoft Visual Studio. Перед началом работы убедитесь, что вы установили перечисленные ниже предварительные требования. Вы можете установить их все, щелкнув следующую ссылку: Установщик веб-платформы. Кроме того, вы можете установить необходимые компоненты по отдельности, используя следующие ссылки:
- Предварительные требования для Visual Studio Web Developer Express с пакетом обновления 1 (SP1)
- ASP.NET обновление средств MVC 3
- SQL Server Compact 4.0 (среда выполнения и поддержка инструментов)
Если вы используете Visual Studio 2010 вместо Visual Web Developer 2010, установите необходимые компоненты, щелкнув следующую ссылку: Предварительные требования Для Visual Studio 2010.
В этом разделе доступен проект Visual Web Developer с VB.NET исходным кодом. Скачайте версию VB.NET. Если вы предпочитаете C#, переключитесь на версию этого руководства на C# .
MVC расшифровывается как model-view-controller. MVC — это шаблон разработки приложений, в рамках которого каждая часть отвечает отдельно:
- Модель: данные для приложения.
- Представления: файлы шаблонов, которые приложение будет использовать для динамического создания ответов HTML.
- Контроллеры. Классы, которые обрабатывают входящие URL-запросы к приложению, извлекают данные модели, а затем указывают шаблоны представлений, которые отрисовывает ответ клиенту.
В этом руководстве мы рассмотрим все эти понятия и покажем, как использовать их для создания приложения.
Создайте контроллер, щелкнув правой кнопкой мыши папку Контроллеры в Обозреватель решений и выбрав команду Добавить контроллер.
Присвойте новому контроллеру имя HelloWorldController и нажмите кнопку Добавить.
Обратите внимание на Обозреватель решений справа, что для вас создан новый файл с именем HelloWorldController.cs и что файл открыт в интегрированной среде разработки.
В блоке new public class HelloWorldController
создайте два новых метода, которые выглядят, как показано в следующем коде. В качестве примера мы вернем строку HTML непосредственно из контроллера.
Namespace MvcMovie
Public Class HelloWorldController
Inherits System.Web.Mvc.Controller
Public Function Index() As String
Return "This is my default action..."
End Function
Public Function Welcome() As String
Return "This is the Welcome action method..."
End Function
End Class
End Namespace
Контроллеру присвоено имя HelloWorldController
, а новому методу — имя Index
. Запустите приложение (нажмите клавишу F5 или CTRL+F5). После запуска браузера добавьте "HelloWorld" в путь в адресной строке. (На моем компьютере это http://localhost:43246/HelloWorld
) Ваш браузер будет выглядеть, как на снимок экрана ниже. В приведенном выше методе код вернул строку напрямую. Мы сказали системе просто вернуть некоторый HTML- код, и это произошло!
ASP.NET MVC вызывает различные классы контроллеров (и различные методы действий в них) в зависимости от входящего URL-адреса. Логика сопоставления по умолчанию, используемая ASP.NET MVC, использует следующий формат для управления вызываемым кодом:
/[Controller]/[ActionName]/[Parameters]
Первая часть URL-адреса определяет класс контроллера для выполнения. Поэтому /HelloWorld сопоставляется с классом HelloWorldController
. Вторая часть URL-адреса определяет метод действия в классе для выполнения. Поэтому /HelloWorld/Index приведет к выполнению Index
HelloWorldController
метода класса . Обратите внимание, что нам нужно было только посетить /HelloWorld выше, и Index
метод использовался по умолчанию. Это связано с тем, что метод с именем Index
является методом по умолчанию, который будет вызываться на контроллере, если он не указан явным образом.
Перейдите по адресу http://localhost:xxxx/HelloWorld/Welcome
. Выполняется метод Welcome
, который возвращает строку "This is the Welcome action method..." (Это метод действия Welcome...). Сопоставление MVC по умолчанию — /[Controller]/[ActionName]/[Parameters]
. Для этого URL-адреса контроллер имеет значение HelloWorld
, а Welcome
— метод . Мы еще не использовали [Parameters]
часть URL-адреса.
Давайте немного изменим пример, чтобы можно было передать некоторые сведения о параметрах из URL-адреса в контроллер (например, /HelloWorld/Welcome?name=Scott&numtimes=4). Измените Welcome
метод, чтобы включить два параметра, как показано ниже. Обратите внимание, что мы использовали функцию необязательных параметров VB, чтобы указать, что numTimes
параметр по умолчанию должен иметь значение 1, если значение для этого параметра не передается.
Public Function Welcome(ByVal name As String, Optional ByVal numTimes As Integer = 1) As String
Dim message As String = "Hello " & name & ", NumTimes is: " & numTimes
Return "" & Server.HtmlEncode(message) & ""
End Function
Запустите приложение и перейдите по папке http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4
. Вы можете попробовать различные значения для name
и numtimes
. Система автоматически сопоставляет именованные параметры из строки запроса в адресной строке с параметрами в методе .
В обоих примерах контроллер выполнял часть MVC, то есть представление и работу контроллера. Контроллер возвращает HTML напрямую. Обычно мы не хотим, чтобы контроллеры возвращали HTML напрямую, так как код становится очень громоздким. Вместо этого мы обычно используем отдельный файл шаблона представления для создания HTML-ответа. Давайте посмотрим, как мы можем это сделать.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по