如何在UrlHelper中编写嵌套函数?
我正在编写一个 UrlHelper,现在我需要编写一个嵌套函数,因为例如我有每个人都可以访问的页面文章,并且我在管理面板中有单独的文章。 首先有链接:/Articles,然后是/Admin/Articles。
所以我想像这样使用 UrlHelper:
在公共页面:
Url.Articles()
在管理页面:
Url.Admin.Article()
请告诉我如何实现它?
I'm writting a UrlHelper and now I need to write a nested function because for example I have page Articles which is accessed for everyone and I have separate Articles in Admin panel.
First have link: /Articles and next /Admin/Articles.
So I want to use UrlHelper like this:
In public page:
Url.Articles()
In admin page:
Url.Admin.Article()
Please tell me how I can achieve it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过为 UrlHelper 编写
Admin()
扩展方法来实现Url.Admin().Article()
,该方法使用 Article() 方法返回某个类的实例。但是,C# 不支持扩展属性,因此如果不修改 ASP MVC 源代码,则无法使用
Url.Admin.Article()
嵌套方法。You can implement
Url.Admin().Article()
by writing anAdmin()
extension method for the UrlHelper that returns an instance of some class with the Article() method.However, C# does not support extension properties so the
Url.Admin.Article()
nested method is not possible without modifying ASP MVC source code.