【发布时间】:2014-01-08 16:38:21
【问题描述】:
我已经编写了一个自定义 Html 帮助程序,并且可以从任何视图调用它,例如以下 @Html.FootNoteNumberedLink。问题是我有一组相当复杂的部分视图嵌套在视图中,这个特殊的助手需要跟踪通过其他部分视图添加的数据。换句话说,它正在为整个视图(包含部分视图)保留所有脚注的运行记录。问题是@Html 似乎在每次部分视图加载时都会被实例化。这意味着我的助手不能从局部视图 1 中获得脚注 1、2、3,并继续在局部视图 2 上使用脚注 4、5、6,而是 HtmlHelper 在每个局部视图上都是新的,因此无法附加数据.
脚注的内部工作是使用 ViewData 来存储脚注列表,如下所示:ViewData[ViewDataKey] as List
有人解释为什么 MVC 会这样做还是我做错了什么?
一如既往地感谢您的帮助。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 html-helper asp.net-mvc-partialview