从UrlHelper获取ModelState或ViewData

时间:2013-09-18 12:34:41

标签: asp.net-mvc html-helper

我认为标题很清楚。我需要在ModelState类的扩展方法中捕获ViewDataUrlHelper。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

  

我认为标题很清楚。我需要捕获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);
}