74 lines
4.0 KiB
Plaintext
74 lines
4.0 KiB
Plaintext
@* подключаем модель ContactViewModel — она нужна для Tag Helpers (asp-for) *@
|
||
@model ContactViewModel
|
||
@{
|
||
ViewData["Title"] = "Контакты";
|
||
}
|
||
|
||
@* заголовок страницы *@
|
||
<h1 class="mb-4">Контакты</h1>
|
||
|
||
@* === КОНТАКТНАЯ ИНФОРМАЦИЯ (адрес, телефон) === *@
|
||
<section class="mb-4">
|
||
<div class="row">
|
||
@* левая колонка — адрес и телефон *@
|
||
<div class="col-md-6 mb-3">
|
||
<h3>Наш адрес</h3>
|
||
<p>г. Москва, ул. Примерная, д. 42, офис 101</p>
|
||
<h3>Телефон</h3>
|
||
<p>+7 (999) 123-45-67</p>
|
||
<h3>Электронная почта</h3>
|
||
<p>info@technomir.ru</p>
|
||
</div>
|
||
@* правая колонка — форма обратной связи *@
|
||
<div class="col-md-6">
|
||
<h3>Напишите нам</h3>
|
||
|
||
@* проверяем, есть ли сообщение об успехе в TempData *@
|
||
@* TempData доступен только один раз — после чтения он удаляется *@
|
||
@if (TempData["ContactSuccess"] != null)
|
||
{
|
||
@* показываем зелёное уведомление об успехе *@
|
||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||
@TempData["ContactSuccess"]
|
||
@* кнопка закрытия уведомления (крестик) *@
|
||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button>
|
||
</div>
|
||
}
|
||
|
||
@* форма обратной связи *@
|
||
@* asp-action="Contacts" — при отправке данные уйдут на метод Contacts (POST) контроллера Home *@
|
||
@* method="post" — данные отправляются POST-запросом (не в URL, а в теле запроса) *@
|
||
<form asp-action="Contacts" method="post">
|
||
@* поле "Имя" *@
|
||
<div class="mb-3">
|
||
@* label with asp-for — Tag Helper, который генерирует <label for="Name"> *@
|
||
<label asp-for="Name" class="form-label">Ваше имя</label>
|
||
@* input with asp-for — генерирует <input id="Name" name="Name" ...> *@
|
||
@* class="form-control" — стиль Bootstrap для полей ввода *@
|
||
<input asp-for="Name" class="form-control" placeholder="Иван Иванов" />
|
||
@* span для отображения ошибки валидации (если имя не заполнено) *@
|
||
<span asp-validation-for="Name" class="text-danger"></span>
|
||
</div>
|
||
|
||
@* поле "Телефон" *@
|
||
<div class="mb-3">
|
||
<label asp-for="Phone" class="form-label">Телефон</label>
|
||
<input asp-for="Phone" class="form-control" placeholder="+7 (999) 123-45-67" />
|
||
<span asp-validation-for="Phone" class="text-danger"></span>
|
||
</div>
|
||
|
||
@* поле "Сообщение" *@
|
||
<div class="mb-3">
|
||
<label asp-for="Message" class="form-label">Сообщение</label>
|
||
@* textarea — многострочное поле ввода *@
|
||
<textarea asp-for="Message" class="form-control" rows="4" placeholder="Напишите ваше сообщение..."></textarea>
|
||
<span asp-validation-for="Message" class="text-danger"></span>
|
||
</div>
|
||
|
||
@* кнопка отправки формы *@
|
||
<button type="submit" class="btn btn-primary">Отправить сообщение</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</section>
|