如何阅读cshtml文件的原始,未呈现的内容

Ste*_*ves 2 c# asp.net-mvc razor

我正在为ASP.Net MVC网站创建一个演示部分.我希望能够通过单击页面上的按钮显示页面的部分视图之一的Razor标记.为此,我将不得不直接从cshtml文件中获取Razor标记,并通过模型将其传递给视图.

如何做到这一点(特别是取出原始的,未渲染的剃刀标记)?我试图打开部分视图的cshtml文件的文件流,但视图的文件路径对我来说不直观:

FileStream fs = new FileStream("{what goes here?}/Views/Demos/SomePartialView.cshtml", FileMode.Open );
Run Code Online (Sandbox Code Playgroud)

Dan*_*rth 6

试试Server.MapPath:

var localPath = Server.MapPath("~/Views/Demos/SomePartialView.cshtml");
Run Code Online (Sandbox Code Playgroud)

  • 您甚至不必在控制器操作中使用HttpContext,您可以在没有HttpContext的情况下使用Server.MapPath. (2认同)