代码之家  ›  专栏  ›  技术社区  ›  Ufuk Hacıoğulları

从UrlHelper获取ModelState或ViewData

  •  1
  • Ufuk Hacıoğulları  · 技术社区  · 12 年前

    我认为标题很清楚。我需要捕捉 ModelState ViewData 的扩展方法内部 UrlHelper 班我该怎么做?

    1 回复  |  直到 12 年前
        1
  •  3
  •   Darin Dimitrov    12 年前

    我认为标题很清楚。我需要捕获ModelState或ViewData 在UrlHelper类的扩展方法内部

    你不能。UrlHelper没有此信息。例如,您的控制器中有一个UrlHelper实例,现在谈论任何ViewData还为时过早。请改用HtmlHelper的扩展名:

    public static void SomeExtension(this HtmlHelper html)
    {
        var viewData = html.ViewData;
    }
    

    如果您需要在HtmlHelper的扩展方法中获取UrlHelper:

    public static void SomeExtension(this HtmlHelper html)
    {
        UrlHelper url = new UrlHelper(html.ViewContext.RequestContext);
    }