是否可以在运行时动态指定操作名称?
string actionName = "Users";
[HttpGet]
[ActionName(actionName)]
public ActionResult GetMe()
{
}
...给出:非静态字段、方法或属性需要对象引用
这只是一个测试,有没有办法做到这一点?如果是这样,我可以重复使用相同的控制器,并可能动态创建新的 URI...对吧?
string actionName = "Users";
[HttpGet]
[ActionName(actionName)]
public ActionResult GetMe()
{
}
...gives: An object reference is required for the non-static field, method, or property
That was just a test though, is there a way to do this? If so, I could re-use the same Controller and possibly create new URIs on the fly... right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您有以下控制器:
您可以编写一个自定义路由处理程序:
最后在您的路由定义中关联自定义路由处理程序:
现在,如果您请求
/home/users
,它就是Index
将提供服务的Home
控制器的操作。Assuming you have the following controller:
you could write a custom route handler:
Finally associate the custom route handler in your route definitions:
Now if you request
/home/users
it's theIndex
action of theHome
controller that will be served.您可以只接受另一个路由参数并执行 switch 语句。
You can just take another routing argument in and do a switch statement.