Я работаю над крупномасштабным программным обеспечением, состоящим примерно из 300 проектов, написанных на C#. Программное обеспечение работает на основе фреймворка и портала на основе WinForm для пользовательского интерфейса.
Наша команда работает над созданием структуры веб-портала.
Веб-портал будет загружать и возвращать файлы javascript, cshtml и css, которые находятся в различных dll. Например:
Carane.Accounting.Web:
- VoucherSmartPart.cshtml
- ВаучерSmartPart.js
Carane.Inventory.Web:
- Гудрекуест.cshtml
- GoodRequest.js
Платформа находится где-то вроде Carane.Portal.Web.
Поскольку портал представляет собой SPA с использованием HotTowel, я настроил Durandal
для получения html
просмотров и viewmodels
javascript от контроллера.
Контроллер для возврата файлов Javascript работает нормально.
Проблема с ViewController, который должен быть таким:
public class ViewController : ApiController
{
[HttpGet]
public string GetSmartPart(string moduleName, string smartpartName)
{
// some code to retrieve the cshtml file from the dll
// and render the cshtml and return the html in a way
// as Durandal recognize it as a html file.
}
}
Вопросы:
- Как получить
cshtml
файлов из другого проекта для участия в фреймворке? - Как отобразить
cshtml
и вернуть его в виде html.
Важно, чтобы файл cshtml был пригоден для отладки через Visual Studio во время его рендеринга.