ASP MVC Навигация между представлениями в Главном Layout

259
06 ноября 2017, 19:32

Приветствую!

Пишу небольшое ASP приложение, параллельно осваивая эту технологию. На данный момент хочу осуществить навигацию между разными вью через главную страницу-шаблон. Итак, на шаблоне _Layout имеется разметка :

<nav>
    <ul>
        <li><a>Главная</a></li>
        <li><a>О нас</a></li>
        <li><a>Регистрация</a></li>
        <li><a>Лучшие Специалисты</a></li>
        <li><a>Лучшие Работодатели</a></li>
        <li><a>Обратная Связь</a></li>
    </ul>
</nav>

Страница Регистрации:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Registration</h2>
<span>Тут форма для регистрации</span>

и Главная Страница :

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Main</h2>
<span>Тут главная форма</span>

Оба представления имеют контроллеры приблизительно одинакового содержания:

public class HomeController : Controller
{
    // GET: Registration
    public ActionResult Index()
    {
        return View();
    }
}

Вопрос - как возвращать разные представления, в зависимости от того что было выбрано в <ul> списке, так что бы разметка самого _Layout оставалась на месте и макет был идентичен на всех страницах ?

Answer 1

Используйте @Html.ActionLink.

@Html.ActionLink("Имя", "Action", "Controller")

Пример:

<nav>
    <ul>
        <li>@Html.ActionLink("Главная", "Index", "Home")</li>
        <li>@Html.ActionLink("О нас", "About", "Home")</li>
    </ul>
</nav>

Еще @Html.ActionLink есть перегрузки, можно передавать параметры и задавать стили.

READ ALSO
Как объединить 2 Dictionary в один новый?

Как объединить 2 Dictionary в один новый?

Добрый деньВозник дурацкий вопрос: Есть 2 Dictionary

294
Удаление объекта после его создания при нажатии клавиши

Удаление объекта после его создания при нажатии клавиши

Я создаю два объекта при нажатии лкмПри нажатии на правую клавишу мыши мне нужно, чтобы они удалились

240
NHibernate не подключается с SQL Server

NHibernate не подключается с SQL Server

Осваивая NHibernate в связке с ASPNET, столкнулся с проблемой, что NHibernate не может подключиться с ошибкой: Сообщение = Не удается открыть базу данных...

265
Преинкремент и постинкремент

Преинкремент и постинкремент

Задали вопрос на учебе, что больше потребляет ресурсов ++i или i++Самостоятельно инфо не нашёл, прошу подсказать где искать

859