我有一个住在这里的观点:
我正在尝试使用StripeWebhookController中的RenderRazorViewToString()
方法以字符串形式获取此视图。
方法定义如下:
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindView(ControllerContext, viewName, null);
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
该方法的调用方式如下:
var html = RenderRazorViewToString("StripeSubscriptionInvoiceEmail", subscriptionPaymentViewModel);
如果我检查“ ViewResult”对象,则两个结果都为空,但是有一个“ SearchLocations”集合显示了它正在寻找的文件:
该集合中的注[4]与我试图获取的视图的相对文件路径匹配。
我尝试过FindPartialView和FindView,但都不运气。
为什么找不到它?