0

我正在开发一个类似于 ASP.Net MVC 网站的向导部分,该部分允许用户发布数据并以向前或向后的方向重定向到下一页。也就是说,如果用户单击下一步,它会保存并转到下一页。如果他们回击,它会保存并转到上一页。我在表单中使用隐藏字段来传递引用页面的值。我的问题涉及存储引用页面值的适当位置。我正在使用强类型视图。我应该为这个页面添加一个引用页面字段到我的视图模型类中,还是在这种情况下使用 ViewData 是可以接受的?

4

1 回答 1

0

我问这个问题已经超过 2 周了,但没有答案,但与此同时,我对 ASP.Net MVC 的了解已经发展,所以我要回答我自己的问题。首先,我要提一下,在我问这个问题之前,我一直只使用 ViewModel 而不是 ViewBag,所以我的直觉是使用 ViewModel,但在我看来,我需要传递的信息,引用 URL,不是属于模型的东西,因为它不是我的数据的一部分,它只是一个帮助导航的“帮助”信息。我认为我之所以犹豫是否将引用 URL 放在 ViewModel 中,是因为当时我的 View Models 是完全包含域模型类的容器类,并且由于对视图的关注不应该污染域模型,所以我不想将引用 URL 放入我的域模型中。

从那以后,我放弃了“将视图模型作为域模型的容器”方法,而是使用映射到域模型的自定义视图模型,但也可以包含我的域模型中不存在的信息,例如引用 URL。当我发现这篇帖子问了一个与我类似的问题时,我已经得出了这个结论:

ViewModel 还是 ViewBag?

这篇文章强化了我,我现在走在正确的轨道上,并简洁地总结了我目前对视图模型角色的看法:“这就是视图模型。你专门定义的一个类来满足你的视图要求。”

于 2013-06-03T11:06:33.870 回答