Я нашел статью о том, как вернуть представление в строку в ASP.NET, но не мог скрывать ее, чтобы иметь возможность запускать ее с помощью.NET Core
public static string RenderViewToString(this Controller controller, string viewName, object model)
{
var context = controller.ControllerContext;
if (string.IsNullOrEmpty(viewName))
viewName = context.RouteData.GetRequiredString("action");
var viewData = new ViewDataDictionary(model);
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(context, viewName);
var viewContext = new ViewContext(context, viewResult.View, viewData, new TempDataDictionary(), sw);
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
который предположил, что можно вызвать из контроллера, используя:
var strView = this.RenderViewToString("YourViewName", yourModel);
Когда я пытаюсь запустить выше в.NET Core, я получаю много ошибок компиляции.
Я попытался преобразовать его для работы с.NET Core, но не смог, может кто-нибудь помочь с упоминанием требуемого using..
и необходимых "dependencies": { "Microsoft.AspNetCore.Mvc": "1.1.0",... },
который будет использоваться в project.json
.
некоторые другие примеры кода здесь и здесь и здесь
ПРИМЕЧАНИЕ. Мне нужно решение, чтобы преобразовать представление в string
в.NET Core, независимо от того, какой код был преобразован, или другим способом, который может это сделать.