Настройка сайта ASP.NET MVC 2 после развертывания - PullRequest
0 голосов
/ 23 марта 2012

У меня есть сайт ASP.NET MVC 2, который нуждается в поддержке пользовательских страниц, добавленных на сайт после развертывания.До сих пор я создал маршрут для пользовательских страниц:

routes.MapRoute("Page", "Page/{name}", new { controller = "Custom", action = "Page" });

и добавил действие контроллера:

public ActionResult Page(string name) {
    return View(@"~\Content\Custom\Pages\" + name +".aspx");
}

Это прекрасно работает.Он отображает любую страницу, которую я поместил в папку ~ \ Content \ Custom \ Pages, по имени.Проблема в том, что, кажется, нет никакого способа добавить дополнительную логику code-behind на страницу, если я не встраиваю ее в саму страницу, и я хотел бы избежать добавления добавления внутренней логики в представление.Есть ли способ динамически добавить контроллер без лишних хлопот?

Любое решение должно выдерживать обновление развертывания, поэтому модификация web.config или любого другого развернутого файла невозможна.

1 Ответ

1 голос
/ 23 марта 2012

Во время выполнения вы можете редактировать страницу контроллера с необходимым кодом.Это не потребует изменений конфигурации, поскольку контроллер будет перекомпилирован во время выполнения.

Например: вы можете открыть новый потоковый модуль и добавить код для вызова модели во время выполнения из контроллера

string newLine = "\t\tModels." + AppName +
    "DataContext context = new Models." + AppName +
    "DataContext();\n\t\treturn View(context." + AppName + "s);";
result.WriteLine(newLine);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...