【发布时间】:2013-08-17 09:33:18
【问题描述】:
对于我们的 Web 应用程序,我需要根据视图保存获取和显示项目的顺序 - 或者更准确地说 - 生成视图的控制器和操作(当然还有用户 ID,但这不是重点在这里)。
我认为从控制器和操作自动创建此标识符会更安全、更容易,而不仅仅是在每个控制器操作中自己给出一个标识符(以便将其用于一些依赖于视图的 DB 输出排序)调用它的方法。
如何从控制器的操作方法中获取控制器的名称和操作?或者我需要为此反思吗?
【问题讨论】:
-
Reflection 会给你处理动作的方法名,但大概你更喜欢 Andrei 的代码返回的动作名。
-
我基本上只需要为每个提供视图的操作提供一个明确的标识符,因此两种方式都可以完成工作。但你是对的,安德烈的回答肯定更优雅。
-
@citykid 除了大小写和类名的“控制器”后缀之外,是否存在其他方式不同的情况?
-
@John,ActionNameAttribute 允许 c# 方法具有任何操作名称:msdn.microsoft.com/en-us/library/…
-
@citykid 哦,好的。鉴于您可以在我收集的操作方法上使用
Route属性指定路由,这是一种过时的功能?另外,是否也可以重命名控制器?
标签: c# asp.net-mvc controller action