#asp.net-mvc #asp.net-mvc-3
#asp.net-mvc #asp.net-mvc-3
Вопрос:
У меня следующая структура:
-
Сайт.Мастер
-
Главная страница — Просмотр
-
HomeController — контроллер
На сайте.Мастер У меня есть заголовок, который содержит несколько ссылок на действия, одна из которых является Faq. В главном окне у меня есть HTML, который по существу отображает статическое содержимое, но в центральной панели / div я хочу иметь динамическое содержимое, основанное на определенных ссылках HTML.ActionLinks, на которые нажимает пользователь. Так, например, изначально я хочу, чтобы центральный DIV отображал вводную часть, но если пользователь нажимает на ссылку «Мой Faq ActionLink», я хочу, чтобы центральный DIV отображал содержимое, относящееся к моему Faq.
В HomeController у меня есть следующее:
[HttpGet]
public ActionResult Intro()
{
var introRequest = _gatewayService.GetContent(new GetContentRequest { Content = ContentTypes.Introduction });
ViewData["content"] = introRequest.Resu<
return View();
}
[HttpGet]
public ActionResult Faq()
{
var faqRequest = _gatewayService.GetContent(new GetContentRequest { Content = ContentTypes.Faq });
ViewData["content"] = faqRequest.Resu<
return View();
}
Идея заключалась бы в том, что ссылка на действие для Faq будет выглядеть примерно так:
<%= Html.ActionLink("Faq","Faq","Home") %>
Ответ №1:
Как сказал @Valamas, используйте Ajax.ActionLink
. Например,
в разметке:
<div id=”faqContent”>
@Ajax.ActionLink(“Click here to see FAQ!”,
“Faq”,
new AjaxOptions{
UpdateTargetId=”faqContent”,
InsertionMode=InsertionMode.Replace,
HttpMethod=”GET”
})
</div>
И в контроллере:
public ActionResult Faq()
{
var faqRequest = _gatewayService.GetContent(new GetContentRequest { Content = ContentTypes.Faq });
return PartialView("Faq", faqRequest.Result);
}
И, наконец, частично просмотрите Faq.chtml с требуемым html для FAQ.
Ответ №2:
Во-первых, вам нужно будет изменить результат ваших методов действий в вашем контроллере, вместо actionresult вы можете использовать jsonresult Во-вторых, в представлении вы можете использовать jquery для загрузки динамического содержимого