У меня есть следующая структура:
Просмотров:
Главная * * 1005
Статья
Частичные просмотры:
Книга
Классы
Введение
Faq
В верхней части страницы, в моем заголовке, находится меню навигации, содержащее несколько Ajax.ActionLinks, которые вызывают различные методы в моем классе HomeController для извлечения определенного частичного представления, а затем помещают этот контент в мой центр DIV. Поэтому я могу щелкнуть ссылку Faq, и содержимое в центре DIV моей страницы теперь будет содержать частичное представление моего Faq. Теперь у меня есть представление «Статьи», которое будет выглядеть совершенно по-другому, и поэтому его необходимо отделить, поскольку оно является собственным, а не частичным, и проблема, с которой я сталкиваюсь, заключается в том, что я нажимаю на свой Html.ActionLink для «Статьи». ", Я перешел к своему представлению" Статьи ", и это то, что я хочу, но затем, если я нажму на одну из других ссылок, которые являются Ajax.ActionLinks, мне нужно (каким-то образом), чтобы представление вернулось к моему Домашнему виду, чтобы Затем можно получить запрошенный частичный вид и поместить его в мой центр DIV. Есть идеи, как я могу это сделать? Прямо сейчас AJAX.ActionLink, когда вызывается во время моего просмотра статей, вызывает мой HomeController, но затем пытается заменить контент в моем центральном DIV (которого нет в моем представлении статей), и, кроме того, это не так. загрузка HomeView.
Есть мысли о том, как лучше всего этого добиться? Кроме того, я не использую двигатель Razor.
Итак, навигационное меню, представляющее собой набор ссылок, находится в моем файле Site.Master. Вот одна из ссылок, которые у меня есть:
<%= Ajax.ActionLink("Book", "LoadBook", new AjaxOptions() { HttpMethod = "Post", UpdateTargetId = "content", InsertionMode = InsertionMode.Replace })%>
При нажатии на эту ссылку вызывается метод LoadBook в моем HomeController. См. Код ниже:
public ActionResult LoadBook()
{
return PartialView("Book");
}
В моем представлении Home.aspx у меня есть следующий код:
<div id="content">
<% Html.RenderPartial("Intro"); %>
</div>
Этот код автоматически загружает частичное представление для моего "вступления" (введение) по умолчанию при каждой начальной загрузке начального представления. Таким образом, в основном, так как ссылка для «Статей» - это Html.ActionLink (в отличие от Ajax.ActionLink), при щелчке по ней я попадаю в представление «Статьи». Когда я нажимаю, например, на Ajax.ActionLink «Книга» в моем заголовке Site.Master в представлении «Статьи», код пытается обновить DIV «содержимого» с частичным представлением «Книга». Такое поведение требуется только в представлении Home, по понятным причинам. Итак, как я могу по-разному реагировать на ссылки Ajax.ActionLink при просмотре представления, отличного от моего начального вида?
Спасибо!
Chris