动作名称与url不同

时间:2012-01-27 17:15:50

标签: c# asp.net-mvc-3 razor routes

是否可以使用名称与url中指定的操作名称不同的操作方法?我尝试用Global.asax中的routes表做这个没有运气。这就是我的尝试:

routes.MapRoute(
               "ApproveSellers",
               "Admin/Account/ApproveSellers/",
               new { controller = "Account", action = "ApproveSeller"},
               new[] { "UI.Areas.Admin.Controllers" }
            );

我希望将action方法称为ApproveSeller,但将url称为ApproveSellers。

3 个答案:

答案 0 :(得分:5)

您需要使用action属性来执行此操作。在路线中,您只需定义默认值。

这是在控制器中:

public class AccountController

    [ActionName("ApproveSellers")]
    public ActionResult ApproveSeller
    {

    ...

答案 1 :(得分:2)

有一个attribute for that

    [ActionName("NewName")]
    public ActionResult OldName()
    {
        return View();   
    }

答案 2 :(得分:1)

下午好,您可能想尝试使用ActionName Attrribute,Phil Haack有一篇很好的文章here,您可能需要查看。