【发布时间】:2019-10-10 21:36:28
【问题描述】:
我有一个非常大的 asp.NET MVC 应用程序,我正在寻找最有效的方法来为每个视图添加帮助文档。所以本质上,我在布局内部添加了一个局部视图;在每个页面上都会调用它,它会调用帮助器方法来返回一个字符串,并且该字符串只是该特定页面的帮助文档的 URL。
这是一种方法:
{Key: "User_Management", Value: "/Account/User/List"},
{Key: "User_Management_Edit", Value: "/Account/User/Edit"}
密钥将是我正在寻找的 URL 的一部分,而值将是返回的 URL 字符串。
因此,如果 URL 是 /User/Management/,那么返回的值将是列表的第一个,/Account/User/List。
第二种方法可能是将 keyUser_Management 作为 ViewBag 或 ViewData 直接存储到视图中,然后检查帮助程序中的值。
我唯一担心的是,对于方法一,我必须维护密钥以确保它们与 URL 匹配,而对于方法二,我想知道在每个视图上将字符串作为 viewbag 传递是否效率低下。
很想听听一些替代方案,或者如果有人有更好的主意。
【问题讨论】:
-
每个页面都有自己的帮助文档 URL,还是所有页面都使用相同的帮助 URL?如何在列表中查找
/User/Management/URL,对应的key是:User_Management?我建议集中精力写一个明确的问题,看看:xy problem -
是的,每个页面都有自己的帮助文档 URL。我通过获取 URL 的第一部分来查找列表中的 URL;
User在这种情况下,然后我将它与键的第一部分匹配,使用每个下划线作为分隔符。
标签: c# asp.net-mvc model-view-controller design-patterns