Asp.net mvc 将视图渲染到控制器外部的字符串?

Asp.net mvc 将视图渲染到控制器外部的字符串?,asp.net-mvc,Asp.net Mvc,是否可以从不是控制器的类渲染视图 例如,我有一个类,它将返回一些数据,比如我希望从视图派生的控件 可能吗 提前感谢。在一个视图中,我们有一个名为Html.Partial的方法,它将一个Partial呈现为一个字符串。在控制器中,可以实例化一个HtmlHelper实例,然后对其调用部分扩展方法。确保在控制器中导入System.Web.Mvc.Html名称空间。开源Razor引擎完全满足您的需要: 我是这样做的: 很简单。只需添加一个类()即可使用 例如,我可以将此代码放在控制器外部: strin

是否可以从不是控制器的类渲染视图

例如,我有一个类,它将返回一些数据,比如我希望从视图派生的控件

可能吗


提前感谢。

在一个视图中,我们有一个名为Html.Partial的方法,它将一个Partial呈现为一个字符串。在控制器中,可以实例化一个HtmlHelper实例,然后对其调用部分扩展方法。确保在控制器中导入System.Web.Mvc.Html名称空间。

开源Razor引擎完全满足您的需要:

我是这样做的:

很简单。只需添加一个类()即可使用

例如,我可以将此代码放在控制器外部:

string html = ViewRenderer.RenderView($"~/Views/Partials/Email/WelcomeEmail.cshtml", viewModel);

这是一个被奇怪地接受的问题。问题:“从不是控制器的类渲染视图?”回答:“在控制器内…”
string html = ViewRenderer.RenderView($"~/Views/Partials/Email/WelcomeEmail.cshtml", viewModel);