【问题标题】:T4MVC: Strongly typed partial?T4MVC:强类型部分?
【发布时间】:2013-12-11 03:37:58
【问题描述】:

我在我的 MVC 5 网站中使用 T4MVC。在一个视图中,我有类似的东西:

@Html.Partial(MVC.Shared.Views.ViewNames.Foo, Model.FooBar)

Foo 视图需要使用@model 定义的特定类型,但 Model.FooBar 可能具有不同的类型。直到运行时才检测到此错误。

有没有办法使用 T4MVC 通过类型化方法渲染部分,就像我们可以使用 ActionLinks 一样,可能是这样的:

@Html.Partial(MVC.Shared.Views.Foo(Model.FooBar))  // Error: Foo() expects Argument of type ...

【问题讨论】:

  • 我相信视图只在运行时编译,这是它们的类型安全被强制执行的时候。视图是类型安全的,但仅限于运行时。

标签: asp.net-mvc t4mvc


【解决方案1】:

简短的回答是 T4MVC 目前不支持这种场景的完全强类型。

这是可以想象的事情,但它会带来挑战。具体来说,T4MVC 需要解析视图以确定模型类型。目前,它从不解析视图,而只检测它们的存在。

【讨论】:

  • 这将是我们切换到 T4MVC 的唯一原因。视图模型和局部模型之间的脱节是最常见的故障点之一。它们在编译时也没有被检测到。
猜你喜欢
  • 2011-01-23
  • 2012-09-30
  • 2014-12-18
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
相关资源
最近更新 更多