ASP.NET MVC:如何从HtmlHelper扩展方法中访问我的强类型模型?

问题描述:

我可以在ViewData和ViewContext但不是模型。ASP.NET MVC:如何从HtmlHelper扩展方法中访问我的强类型模型?

任何想法?我是否需要将模型作为参数传递给扩展方法?看起来并不理想。

如果你是取决于助手扩展类型,我更愿意把它作为参数传递。通过这种方式,您可以知道在构建方法时它具有适当的类型(如果模型不是正确的类型,则不会编译)。如果您在助手中作为ViewData的属性访问它,那么直到运行时才会知道它是否具有正确的类型,并且将被强制引发异常 - 或将其作为错误处理。在我看来,这两者都不是特别好的选择。

找到了!

helper.ViewData.Model