几周前,我想出了如何编写自己的 DisplayTemplates 和 EditorTemplates。我确实发现它们很有用,因为我可以这样写:@Html.DisplayForModel("my_awesome_template")
它将显示“my_awesome_template”中的任何内容并在视图中使用当前模型。太棒了,对吧?
好吧,我已经以多种不同的方式编写了我的视图,现在我要回到我最初编写它们的方式:直接在视图中,没有部分或模板,并使用 ViewModels。为什么?因为我缺乏终极的灵活性并且失去了一致性。例如:如果我在我的 DisplayTemplate 中有@Model.HamSandwhichText
,因为它在我的模板中,我只能在我的模板中移动它,而不是在实际的视图中。从技术上讲,我可以直接在视图中使用它,但那时我只是打破了一致性。这意味着视图和模板都可以访问相同的东西。我不喜欢这个。我假设因为我使用的是 ViewModels,所以我不必太担心模板。
但是,使用模板的真正原因是什么?我确实注意到它使显示列表更清晰、更容易;但我还是不喜欢。