Преобразование ActionResult в строку URL в статическом методе - PullRequest
3 голосов
/ 17 сентября 2009

Когда у меня есть доступ к UrlHelper, я могу преобразовать ActionResult в строку (т.е. фактический URL), например, так: urlHelper.RouteUrl (actionResult.GetRouteValueDictionary ());

Как я могу сделать то же самое из статического метода, где у меня нет доступа к UrlHelper? Спасибо.

Ответы [ 2 ]

6 голосов
/ 17 сентября 2009

Просто добавьте оператор using для System.Web.Mvc и создайте экземпляр класса UrlHelper в своем статическом методе.

0 голосов
/ 23 ноября 2011

Я сделал частичный результат с помощью метода, подобного этому.

private string RenderPartialViewToString(ControllerContext context, string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = context.RouteData.GetRequiredString("action");

        ViewData.Model = model;

        using (StringWriter sw = new StringWriter())
        {
            ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(context, viewName);
            ViewContext viewContext = new ViewContext(context, viewResult.View, ViewData, TempData, sw);
            viewResult.View.Render(viewContext, sw);

            return sw.GetStringBuilder().ToString();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...