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

时间:2009-07-22 15:43:53

标签: asp.net-mvc

我可以访问ViewData和ViewContext,但不能访问Model。

有什么想法吗?我是否需要将模型作为参数传递给扩展方法?看起来不太理想。

2 个答案:

答案 0 :(得分:2)

发现它!

helper.ViewData.Model

答案 1 :(得分:1)

如果您依赖于辅助扩展中的类型,我宁愿将其作为参数传递。这样您就知道它在构造方法时具有正确的类型(如果模型的类型不正确,则不会编译)。如果您在帮助程序中将其作为ViewData的属性进行访问,则在运行时,如果它具有正确的类型并且将被强制抛出异常 - 或将其作为错误处理,则您将无法知道。在我看来,这两者都不是特别好的选择。