对于何时使用自定义帮助器方法,何时使用RenderAction以及何时仅使用ViewData来说,我还是不清楚的。它们的某些功能略有重叠。
例如,如果要创建“类别”导航栏,是否可以创建一个新的帮助器方法并将其放置在某些局部 View 中?最初我虽然这样做,但是我在一些博客上阅读了使用RenderAction的信息。我一直在来回思考,不仅可以使用此示例,还可以使用一些帮助。
假设类别列表来自某些数据源。
最佳答案
我遵循的一般准则是:
HtmlHelper方法:
局部渲染:
渲染操作:
ViewData:
我将使用ViewData跟踪应用于所有 View (例如当前用户)的全局数据。如果我需要一种一致的方式来显示此数据,通常会为其创建一个部分,然后在母版页中执行RenderPartial()。
关于ASP.NET MVC : When to use custom HTML helper methods vs Html. RenderAction吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239732/