我正在开发一个包含大约 300 个用 C# 编写的项目的大型软件。该软件基于一个框架和一个基于 WinForm 的 UI 门户工作。
我们的团队正在努力开发 Web 门户框架。
门户网站将加载并返回驻留在各种 dll 中的 javascript、cshtml 和 css 文件。例如:
Carane.Accounting.Web:
- VoucherSmartPart.cshtml
- VoucherSmartPart.js
Carane.Inventory.Web:
- GoodRequest.cshtml
- GoodRequest.js
该框架位于Carane.Portal.Web 之类的地方。
由于门户是使用 HotTowel 的 SPA,因此我配置为从 ControllerDurandal
获取html
视图和 javascript 。viewmodels
返回 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进行调试。