无法想象还没有问过这个问题......虽然,我找不到它。
所以这就是:我在ASP.NET MVC 3中的动作方法上使用了ActionNameAttribute。像这样:
[ActionName("confirm")]
[HttpGet]
public ActionResult Confirm(string stuffTitle)
{
ActionResult resultView = CreateSomeStuff(stuffTitle);
return resultView;
}
但是,如何才能为课程完成同样的工作?像这样:
[ActionName("personal")]
public class AccountController : Controller
使用ActionNameAttribute只能在方法声明中使用{{3}}。但我想它应该在类类型声明上以某种方式可行。也许我还没有听说过另一个属性?其他一些解决方法?
有人有想法吗?在此先感谢!!
答案 0 :(得分:6)
我真的很难理解你追求的是什么。您想更改控制器的名称或其他内容吗?如果是这样,请使用路线:
routes.MapRoute(
"FooRoute",
"foo/{action}/{action}/{id}",
new { controller = "Account", action = "Index", id = UrlParameter.Optional }
);
现在,对foo/someaction
的所有请求都将路由到Account
控制器的相应操作。
答案 1 :(得分:0)
MVC控制器包含可以映射到Actions的方法。正如达林所说,它在课堂上的目的是什么?要说这个类有一个'列表'动作,就没有用了。你不得不说出哪种方法,不是吗?
我在Phil Haack的博客http://haacked.com/archive/2008/08/29/how-a-method-becomes-an-action.aspx上发现了这篇文章。如果您已经阅读过,我会提前道歉。我认为他所说的和一些最终的讨论可能对你有所帮助。