Я использую этот код, чтобы попытаться отобразить частичный вид бритвы в виде строки для отправки электронной почты.ASP.NET MVC рендеринг Razor Partial View as String Error?
public static string RenderPartialToString(
string userControlPath,
object viewModel,
ControllerContext controllerContext,
TempDataDictionary tempData)
{
using (var writer = new StringWriter())
{
var viewDataDictionary = new ViewDataDictionary(viewModel);
var view = new WebFormView(controllerContext, userControlPath);
var viewContext = new ViewContext(
controllerContext,
view,
viewDataDictionary,
tempData,
writer
);
viewContext.View.Render(viewContext, writer);
return writer.GetStringBuilder().ToString();
}
}
Проблема заключается в том, что я получаю ошибку последующей:
must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>. Stack Trace: at System.Web.Mvc.WebFormView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at .... RenderPartialToString
Как исправить?
Вы могли бы указать код? что именно я должен его определить? – Andy
Я опубликовал код из рабочего прототипа. Подпись метода отличается, но вы должны иметь возможность адаптировать ее к вашим потребностям. – neontapir