Как реализовать несколько шаблонов домашней страницы вместе в ASP.NET MVC c #? - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть 4 разных шаблона домашней страницы [с разными данными из базы данных]. Я хотел бы периодически переходить от одного к другому с какого-то внутреннего доступа администратора. Я создал 4 страницы индекса (index1.aspx, index2.aspx ..). что было бы самым простым способом время от времени изменять индексную страницу по умолчанию.

Я представляю, как сделать это, создав файл конфигурации и изменив это ... Есть ли лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Я предполагаю, что у вас есть действие контроллера, например:

public ActionResult Index() 
{
    return View();  // Implies Index.aspx
}

Возможно, вы просто хотите поменять местами представления:

public ActionResult Index() 
{
    HomePageType homePageType = GetHomePageTypeFromDb();
    HomePageModel model = new HomePageModel();

    switch (homePageType) 
    {
        case Type1: return View("Index1", model);
        case Type2: return View("Index2", model);
        ...
    }
}
1 голос
/ 26 декабря 2010

Создайте отдельный файл для хранения настроек приложения. Добавьте настройки для вашей текущей домашней страницы.

Сохраните эту настройку во внешнем конфигурационном файле.

  <appSettings file="appSettings.config">
     Your other settings
  </appSettings>

И ваше приложение Settings.config

  <appSettings>
     <add key="currentHomePage" value="HomePage1"/>
  </appSettings>

Вы можете программно изменять эти настройки, что бы вы делали для администраторов.

Вот ссылка, которая показывает, как это сделать

Теперь в своем действии контроллера вы можете просто получить текущую домашнюю страницу из настроек приложения.

string currentHomePage = WebConfigurationManager.AppSettings ["currentHomePage"];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...