Asp net page action не работает

Содержание
  1. Вспомогательная функция тега привязки в ASP.NET Core MVC
  2. Атрибуты вспомогательной функции тега привязки
  3. asp-controller
  4. asp-action
  5. asp-route- Рассмотрим следующее действие контроллера: С шаблоном маршрута по умолчанию, определенным в Startup.Configure: Представление MVC использует модель, предоставляемую действием: Заполнитель маршрута по умолчанию соответствует требуемому. Созданный HTML: Предположим, префикс маршрута не входит в состав соответствующего шаблона маршрутизации, как в случае со следующим представлением MVC: Следующий код HTML будет создан, так как элемент speakerid не найден в соответствующем маршруте: Если атрибут asp-controller или asp-action не указан, применяется та же обработка по умолчанию, что и в атрибуте asp-route . asp-route Атрибут asp-route используется для связывания URL-адреса непосредственно с именованным маршрутом. С помощью атрибутов маршрутизации маршруту можно присвоить имя, как показано в классе SpeakerController и используется в его действии Evaluations : В следующем элементе атрибут asp-route ссылается на именованный маршрут: Вспомогательная функция тега привязки создает маршрут непосредственно к этому методу контроллера, используя /Speaker/Evaluations URL-адреса. Созданный HTML: Если наряду с атрибутом asp-route указаны атрибут asp-controller или asp-action , созданный маршрут может отличаться от ожидаемого. Во избежание конфликта маршрута asp-route нельзя использовать вместе с атрибутами asp-controller или asp-action . asp-all-route-data Атрибут asp-all-route-data поддерживает создание словаря пар «ключ-значение». Ключ является именем параметра, а значение — значением параметра. В следующем примере словарь инициализируется и передается в Razor представление. Кроме того, данные могут быть переданы с помощью модели. Предыдущий код вызывает следующий код HTML: Словарь asp-all-route-data предназначен для создания строки запроса, соответствующей требованиям перегруженного действия Evaluations : Если ключи в словаре совпадают с параметрами маршрута, эти значения будут соответствующим образом заменены в маршруте. В качестве параметров запроса будут созданы другие несовпадающие значения. asp-fragment Атрибут asp-fragment определяет фрагмент URL-адреса, добавляемый к URL-адресу. Вспомогательная функция тега привязки добавляет символ решетки (#). Рассмотрим следующий элемент: Хэштеги полезны при создании приложений на стороне клиента. Например, их можно использовать для простоты пометки и поиска на языке JavaScript. asp-area Атрибут asp-area указывает имя области, используемое платформой для определения соответствующего маршрута. Ниже приведен пример того, как атрибут asp-area приводит к повторному сопоставлению маршрутов. Использование на Razor страницах Razorобласти страниц поддерживаются в ASP.NET Core 2,1 или более поздней версии. Пусть имеется следующая иерархия каталогов: wwwroot Области Сеансы Страницы _Виевстарт. cshtml Index.cshtml Index.cshtml.cs Страницы Разметка для ссылки на страницу индекса области сеансов Razor : Для поддержки областей в Razor приложении для страниц выполните одно из следующих Startup.ConfigureServices действий в. Задайте версию совместимости 2.1 или более позднюю. Задайте для свойства Razor Пажесоптионс. алловареас значение true : Использование в MVC Пусть имеется следующая иерархия каталогов: wwwroot Области Блоги Контроллеры HomeController. CS Представления Home AboutBlog.cshtml Index.cshtml _Виевстарт. cshtml Контроллеры При установке для атрибута asp-area значения Blogs перед маршрутами связанных контроллеров и представлений для этого тега привязки добавляется каталог Areas/Blogs. Исправления для ссылки на представление AboutBlog: Для поддержки областей в приложении MVC в шаблон маршрута необходимо включить ссылку на область, если она существует. Этот шаблон представлен вторым параметром routes.MapRoute вызова метода во время запуска. Настройте: asp-protocol Атрибут asp-protocol предназначен для указания протокола (например, https ) в URL-адресе. Пример: Имя узла в примере — localhost. При формировании URL-адреса вспомогательная функция тега привязки использует общедоступный домен веб-сайта. asp-host Атрибут asp-host предназначен для определения имени узла в URL-адресе. Пример: asp-page Атрибут ASP-Page используется со Razor страницами. Используйте его для определения значения атрибута href тега привязки для определенной страницы. Чтобы создать URL-адрес, перед именем страницы следует ввести символ косой черты (/). Следующий пример указывает на страницу «участник» Razor : Атрибут asp-page является взаимоисключающим с атрибутами asp-route , asp-controller и asp-action . Тем не менее asp-page можно использовать с asp-route- для управления маршрутизацией, как показано в следующем элементе: asp-page-handler Атрибут ASP-Page-Handler используется со Razor страницами. Он предназначен для связывания с обработчиками определенных страниц. Рассмотрим следующий обработчик страниц: Связанный элемент модели страницы ссылается на обработчик страниц OnGetProfile . Обратите внимание, что префикс On имени метода обработчика страниц опущен в значении атрибута asp-page-handler . Когда метод является асинхронным, суффикс Async также опускается. Источник Контроллеры Контроллеры и их действия Центральным звеном в архитектуре ASP.NET Core MVC является контроллер. При получении запроса система маршрутизации выбирает для обработки запроса нужный контроллер и передает ему данные запроса. Контроллер обрабатывает эти данные и посылает обратно результат обработки. В ASP.NET Core MVC контроллер представляет обычный класс на языке C#, который наследуется от абстрактного базового класса Microsoft.AspNetCore.Mvc.Controller . По умолчанию проект ASP.NET Core MVC содержит как минимум один контроллер — HomeController: В данном случае мы видим, что констроллер имеет конструктор, через который посредством механизма dependency injection передается сервис ILogger, используемый для логгирования. Также контроллер определяет три метода — Index, Privacy и Error. При использовании контроллеров существуют некоторые условности. Во-первых, в проекте контроллеры помещаются в каталог Controllers . И во-вторых, по соглашениям об именовании названия контроллеров обычно оканчиваются на суффикс «Controller», остальная же часть до этого суффикса считается именем контроллера, например, HomeController. Но в принципе эти условности необязательны. Но есть также и обязательные условности, которые предъявляются к контроллерам. В частности, класс контроллера должен удовлетворять как минимум одному из следующих условий: Класс контроллера имеет суффикс «Controller» Класс контроллера наследуется от класса, который имеет суффикс «Controller» К классу контроллера применяется атрибут [Controller] Если нам нужен еще один контроллер, то мы можем добавить в папку Controllers новый класс, который будет наследоваться от класса Controller . Либо мы можем использовать готовый шаблон Controller Class : Контроллер, как и любой класс на языке C#, может иметь поля, свойства, методы. По умолчанию HomeController имеет четыре метода, которые можно назвать действиями . Действия контроллера — это публичные методы, которые могут сопоставляться с запросами. Например, стандартный контроллер содержит метод Index — он имеет модификатор public и поэтому может использоваться для обработки запроса. Чтобы обратиться контроллеру из веб-браузера, нам надо в адресной строке набрать адрес_сайта/Имя_контроллера/Действие_контроллера . Так, по запросу адрес_сайта/Home/Index система маршрутизации по умолчанию вызовет метод Index контроллера HomeController для обработки входящего запроса. Например: Однако такое сопоставление строки url с названием контроллера и его метода происходит благодаря системе маршрутизации. Если мы обратимся к классу Startup и его методу Configure() , то мы можем найти там определение единственного для приложения маршрута: Метод endpoints.MapControllerRoute добавляет один маршрут с именем default и шаблоном «//» . Данный шаблон устанавливает трехсегментную структуру строки запроса: controller/action/id . То есть в начале идет название контроллера, затем название действия, и далее может идти необязательный параметр id. Собственно поэтому система может соотнести запрос типа localhost:xxxx/Home/Index с контроллером и его действием. Однако не все методы контроллера являются действиями. Контроллер также может иметь непубличные методы — такие методы не рассматриваются как действия и соответственно не могут соотноситься с запросами. Например, определим в контроллере следующий метод: Поскольку его модификатор отличается от public , то мы не сможем обратиться к этому методу с запросом localhost:xxxx/Home/Hello . Хотя такие не публичные методы также могут быть полезными — в них можно определять какие-нибудь промежуточные вычисления и затем использовать в действиях контроллера. При этом если мы изменим модификатор метода на public , то метод Hello станет полноценным действием: Атрибуты NonController, ActionName и NonAction Возможно, сопоставление по умолчанию бывает не всегда удобно. Например, у нас есть класс в папке Controllers, но мы не хотим, чтобы он мог обрабатывать запрос и использоваться как контроллер. Чтобы указать, что этот класс не является контроллером, нам надо использовать над ним атрибут [NonController] : Аналогично, если мы хотим, чтобы какой-либо публичный метод контроллера не рассматривался как действие, то мы можем использовать над ним атрибут NonAction : Атрибут [ActionName] позволяет для метода задать другое имя действия. Например: В этом случае чтобы обратиться к этому методу, надо отправить запрос localhost:xxxx/Home/Welcome. А запрос localhost:xxxx/Home/Hello работать не будет. Типы запросов В прошлой главе для обработки запросов использовалась следующая пара методов: Несмотря на то, что здесь два разных метода, но они в соответствии с именем образуют одно действие Buy. Допустимо определять в контроллере методы с одним и тем же именем, только в этом случае они должны различаться по параметрам, как в данном случае. Кроме того, методы в рамках одного действия могут обслуживать разные запросы. Для указания типа запроса HTTP нам надо применить к методу один из атрибутов: [HttpGet] , [HttpPost] , [HttpPut] , [HttpDelete] и [HttpHead] . Если атрибут явным образом не указан, то метод может обрабатывать все типы запросов: GET, POST, PUT, DELETE. Источник Почему /?action=report не работает? Помощь в написании контрольных, курсовых и дипломных работ здесь. Как расширить ссылку из Controller/Action/Id до Contr/Action/Category/Id ? Здравствуйте, Дорогие форумчане! Давно не брался за ASP, поэтому задаю несколько глупый и для. Куда я должен вставить ON DELETE NO ACTION or ON UPDATE NO ACTION? Сделал миграцию, бд не хочет обновляться, что-то требует, Что мне нужно сделать что-бы она не. Ошибка каскадных таблиц (Specify ON DELETE NO ACTION or ON UPDATE NO ACTION) Здравствуйте. Возникла проблема с созданием таблицы. Ошибка в Package Manager Console . Почему в переменой Action остается 1? Скажите plsss где ошибка . Timer1.Enabled = True Timer1.Interval = 500 Private Sub. Не работает form action При нажатии на клавишу ничего не происходит. Сайт не перенаправляется. Что не так? Как исправить? . Split Action Bar не работает Здравствуйте, я создал иконку в actionbar, файл res/menu/menu_main.xml и хочу чтобы она находилась. Delphi 10 Reve Report/Fast Report Ado Sql пожалуйста помогите вывести бд на печать через rave или fast report, почитал тут темы и мануал по. Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и Crystal Report Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и. Работа с отчетами Crystal Report на компьютере где нет VS и Crystal Report Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и. Почему смена текста работает только один раз? Что неправильно в коде и почему? Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна. Источник
  6. asp-route
  7. asp-all-route-data
  8. asp-fragment
  9. asp-area
  10. Использование на Razor страницах
  11. Использование в MVC
  12. asp-protocol
  13. asp-host
  14. asp-page
  15. asp-page-handler
  16. Контроллеры
  17. Контроллеры и их действия
  18. Атрибуты NonController, ActionName и NonAction
  19. Типы запросов
  20. Почему /?action=report не работает?

Вспомогательная функция тега привязки в ASP.NET Core MVC

Вспомогательная функция тега привязки повышает эффективность стандартного тега привязки HTML ( ) путем добавления новых атрибутов. Как правило, все имена атрибутов начинаются с asp- . Отображаемое значение атрибута href элемента привязки определяется значениями атрибутов asp- .

Общие сведения о вспомогательных функциях тегов см. здесь: Вспомогательные функции тегов в ASP.NET Core.

В примерах в этом документе используется SpeakerController

Атрибуты вспомогательной функции тега привязки

asp-controller

Атрибут asp-controller назначает контроллер, используемый для создания URL-адреса. Следующий элемент перечисляет всех говорящих:

Если атрибут asp-controller указан, а атрибут asp-action — нет, действием контроллера, связанным с выполняющимся представлением, будет заданное по умолчанию значение asp-action . Если asp-action параметр пропущен в предыдущей разметке, а вспомогательная функция тега привязки используется в представлении индекса Home контроллера( /Home ), то созданным HTML-кодом будет:

asp-action

Значение атрибута asp-action представляет имя действия контроллера, включенное в созданный атрибут href . Следующий элемент задает созданное значение атрибута href на странице динамика оценок:

Если атрибут asp-controller не указан, будет использоваться контроллер по умолчанию, вызывающий представление при выполнении текущего представления.

Если атрибут asp-action имеет значение Index , действия не добавляются к URL-адресу и вызывается метод Index по умолчанию. В контроллере, на который есть ссылка в asp-controller , должно существовать указанное действие (или заданное по умолчанию).

asp-route-

Рассмотрим следующее действие контроллера:

С шаблоном маршрута по умолчанию, определенным в Startup.Configure:

Представление MVC использует модель, предоставляемую действием:

Заполнитель маршрута по умолчанию соответствует требуемому. Созданный HTML:

Предположим, префикс маршрута не входит в состав соответствующего шаблона маршрутизации, как в случае со следующим представлением MVC:

Следующий код HTML будет создан, так как элемент speakerid не найден в соответствующем маршруте:

Если атрибут asp-controller или asp-action не указан, применяется та же обработка по умолчанию, что и в атрибуте asp-route .

asp-route

Атрибут asp-route используется для связывания URL-адреса непосредственно с именованным маршрутом. С помощью атрибутов маршрутизации маршруту можно присвоить имя, как показано в классе SpeakerController и используется в его действии Evaluations :

В следующем элементе атрибут asp-route ссылается на именованный маршрут:

Вспомогательная функция тега привязки создает маршрут непосредственно к этому методу контроллера, используя /Speaker/Evaluations URL-адреса. Созданный HTML:

Если наряду с атрибутом asp-route указаны атрибут asp-controller или asp-action , созданный маршрут может отличаться от ожидаемого. Во избежание конфликта маршрута asp-route нельзя использовать вместе с атрибутами asp-controller или asp-action .

asp-all-route-data

Атрибут asp-all-route-data поддерживает создание словаря пар «ключ-значение». Ключ является именем параметра, а значение — значением параметра.

В следующем примере словарь инициализируется и передается в Razor представление. Кроме того, данные могут быть переданы с помощью модели.

Предыдущий код вызывает следующий код HTML:

Словарь asp-all-route-data предназначен для создания строки запроса, соответствующей требованиям перегруженного действия Evaluations :

Если ключи в словаре совпадают с параметрами маршрута, эти значения будут соответствующим образом заменены в маршруте. В качестве параметров запроса будут созданы другие несовпадающие значения.

asp-fragment

Атрибут asp-fragment определяет фрагмент URL-адреса, добавляемый к URL-адресу. Вспомогательная функция тега привязки добавляет символ решетки (#). Рассмотрим следующий элемент:

Хэштеги полезны при создании приложений на стороне клиента. Например, их можно использовать для простоты пометки и поиска на языке JavaScript.

asp-area

Атрибут asp-area указывает имя области, используемое платформой для определения соответствующего маршрута. Ниже приведен пример того, как атрибут asp-area приводит к повторному сопоставлению маршрутов.

Использование на Razor страницах

Razorобласти страниц поддерживаются в ASP.NET Core 2,1 или более поздней версии.

Пусть имеется следующая иерархия каталогов:

    • wwwroot
    • Области
      • Сеансы
        • Страницы
          • _Виевстарт. cshtml
          • Index.cshtml
          • Index.cshtml.cs
    • Страницы

Разметка для ссылки на страницу индекса области сеансов Razor :

Для поддержки областей в Razor приложении для страниц выполните одно из следующих Startup.ConfigureServices действий в.

Задайте версию совместимости 2.1 или более позднюю.

Задайте для свойства Razor Пажесоптионс. алловареас значение true :

Использование в MVC

Пусть имеется следующая иерархия каталогов:

    • wwwroot
    • Области
      • Блоги
        • Контроллеры
          • HomeController. CS
        • Представления
          • Home
            • AboutBlog.cshtml
            • Index.cshtml
          • _Виевстарт. cshtml
    • Контроллеры

При установке для атрибута asp-area значения Blogs перед маршрутами связанных контроллеров и представлений для этого тега привязки добавляется каталог Areas/Blogs. Исправления для ссылки на представление AboutBlog:

Для поддержки областей в приложении MVC в шаблон маршрута необходимо включить ссылку на область, если она существует. Этот шаблон представлен вторым параметром routes.MapRoute вызова метода во время запуска. Настройте:

asp-protocol

Атрибут asp-protocol предназначен для указания протокола (например, https ) в URL-адресе. Пример:

Имя узла в примере — localhost. При формировании URL-адреса вспомогательная функция тега привязки использует общедоступный домен веб-сайта.

asp-host

Атрибут asp-host предназначен для определения имени узла в URL-адресе. Пример:

asp-page

Атрибут ASP-Page используется со Razor страницами. Используйте его для определения значения атрибута href тега привязки для определенной страницы. Чтобы создать URL-адрес, перед именем страницы следует ввести символ косой черты (/).

Следующий пример указывает на страницу «участник» Razor :

Атрибут asp-page является взаимоисключающим с атрибутами asp-route , asp-controller и asp-action . Тем не менее asp-page можно использовать с asp-route- для управления маршрутизацией, как показано в следующем элементе:

asp-page-handler

Атрибут ASP-Page-Handler используется со Razor страницами. Он предназначен для связывания с обработчиками определенных страниц.

Рассмотрим следующий обработчик страниц:

Связанный элемент модели страницы ссылается на обработчик страниц OnGetProfile . Обратите внимание, что префикс On имени метода обработчика страниц опущен в значении атрибута asp-page-handler . Когда метод является асинхронным, суффикс Async также опускается.

Источник

Контроллеры

Контроллеры и их действия

Центральным звеном в архитектуре ASP.NET Core MVC является контроллер. При получении запроса система маршрутизации выбирает для обработки запроса нужный контроллер и передает ему данные запроса. Контроллер обрабатывает эти данные и посылает обратно результат обработки.

В ASP.NET Core MVC контроллер представляет обычный класс на языке C#, который наследуется от абстрактного базового класса Microsoft.AspNetCore.Mvc.Controller . По умолчанию проект ASP.NET Core MVC содержит как минимум один контроллер — HomeController:

В данном случае мы видим, что констроллер имеет конструктор, через который посредством механизма dependency injection передается сервис ILogger, используемый для логгирования. Также контроллер определяет три метода — Index, Privacy и Error.

При использовании контроллеров существуют некоторые условности. Во-первых, в проекте контроллеры помещаются в каталог Controllers . И во-вторых, по соглашениям об именовании названия контроллеров обычно оканчиваются на суффикс «Controller», остальная же часть до этого суффикса считается именем контроллера, например, HomeController. Но в принципе эти условности необязательны.

Но есть также и обязательные условности, которые предъявляются к контроллерам. В частности, класс контроллера должен удовлетворять как минимум одному из следующих условий:

Класс контроллера имеет суффикс «Controller»

Класс контроллера наследуется от класса, который имеет суффикс «Controller»

К классу контроллера применяется атрибут [Controller]

Если нам нужен еще один контроллер, то мы можем добавить в папку Controllers новый класс, который будет наследоваться от класса Controller . Либо мы можем использовать готовый шаблон Controller Class :

Контроллер, как и любой класс на языке C#, может иметь поля, свойства, методы. По умолчанию HomeController имеет четыре метода, которые можно назвать действиями . Действия контроллера — это публичные методы, которые могут сопоставляться с запросами. Например, стандартный контроллер содержит метод Index — он имеет модификатор public и поэтому может использоваться для обработки запроса.

Чтобы обратиться контроллеру из веб-браузера, нам надо в адресной строке набрать адрес_сайта/Имя_контроллера/Действие_контроллера . Так, по запросу адрес_сайта/Home/Index система маршрутизации по умолчанию вызовет метод Index контроллера HomeController для обработки входящего запроса. Например:

Однако такое сопоставление строки url с названием контроллера и его метода происходит благодаря системе маршрутизации. Если мы обратимся к классу Startup и его методу Configure() , то мы можем найти там определение единственного для приложения маршрута:

Метод endpoints.MapControllerRoute добавляет один маршрут с именем default и шаблоном «//» . Данный шаблон устанавливает трехсегментную структуру строки запроса: controller/action/id . То есть в начале идет название контроллера, затем название действия, и далее может идти необязательный параметр id.

Собственно поэтому система может соотнести запрос типа localhost:xxxx/Home/Index с контроллером и его действием.

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

Поскольку его модификатор отличается от public , то мы не сможем обратиться к этому методу с запросом localhost:xxxx/Home/Hello . Хотя такие не публичные методы также могут быть полезными — в них можно определять какие-нибудь промежуточные вычисления и затем использовать в действиях контроллера. При этом если мы изменим модификатор метода на public , то метод Hello станет полноценным действием:

Атрибуты NonController, ActionName и NonAction

Возможно, сопоставление по умолчанию бывает не всегда удобно. Например, у нас есть класс в папке Controllers, но мы не хотим, чтобы он мог обрабатывать запрос и использоваться как контроллер. Чтобы указать, что этот класс не является контроллером, нам надо использовать над ним атрибут [NonController] :

Аналогично, если мы хотим, чтобы какой-либо публичный метод контроллера не рассматривался как действие, то мы можем использовать над ним атрибут NonAction :

Атрибут [ActionName] позволяет для метода задать другое имя действия. Например:

В этом случае чтобы обратиться к этому методу, надо отправить запрос localhost:xxxx/Home/Welcome. А запрос localhost:xxxx/Home/Hello работать не будет.

Типы запросов

В прошлой главе для обработки запросов использовалась следующая пара методов:

Несмотря на то, что здесь два разных метода, но они в соответствии с именем образуют одно действие Buy. Допустимо определять в контроллере методы с одним и тем же именем, только в этом случае они должны различаться по параметрам, как в данном случае.

Кроме того, методы в рамках одного действия могут обслуживать разные запросы. Для указания типа запроса HTTP нам надо применить к методу один из атрибутов: [HttpGet] , [HttpPost] , [HttpPut] , [HttpDelete] и [HttpHead] . Если атрибут явным образом не указан, то метод может обрабатывать все типы запросов: GET, POST, PUT, DELETE.

Источник

Почему /?action=report не работает?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как расширить ссылку из Controller/Action/Id до Contr/Action/Category/Id ?
Здравствуйте, Дорогие форумчане! Давно не брался за ASP, поэтому задаю несколько глупый и для.

Куда я должен вставить ON DELETE NO ACTION or ON UPDATE NO ACTION?
Сделал миграцию, бд не хочет обновляться, что-то требует, Что мне нужно сделать что-бы она не.

Ошибка каскадных таблиц (Specify ON DELETE NO ACTION or ON UPDATE NO ACTION)
Здравствуйте. Возникла проблема с созданием таблицы. Ошибка в Package Manager Console .

Почему в переменой Action остается 1?
Скажите plsss где ошибка . Timer1.Enabled = True Timer1.Interval = 500 Private Sub.

Не работает form action
При нажатии на клавишу ничего не происходит. Сайт не перенаправляется. Что не так? Как исправить? .

Split Action Bar не работает
Здравствуйте, я создал иконку в actionbar, файл res/menu/menu_main.xml и хочу чтобы она находилась.

Delphi 10 Reve Report/Fast Report Ado Sql
пожалуйста помогите вывести бд на печать через rave или fast report, почитал тут темы и мануал по.

Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и Crystal Report
Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и.

Работа с отчетами Crystal Report на компьютере где нет VS и Crystal Report
Как сделать чтобы программа могла работать с отчетами Crystal Report на компьютере где нет VS и.

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна.

Источник

Читайте также:  Как настроить мышку ред драгон
Оцените статью