0

目前我有一个名为(管理)的控制器。我希望它有链接,例如

Manage/Users/{userid}/{manageType}
Manage/Pages/{pageid}/{manageType}

操作 manageType 可以在哪里(设置、用户名、描述)。

在我的管理控制器中构建它的最佳方法是什么,以便我可以拥有所有这些属性?是否有可能在其他操作中存在多个操作功能?例如

ManageController
-> viewResult Users(int userID)
-> viewResult Pages(int pageID)
-> viewResult Type(string typeID)

从链接获取 ID 后,用户和页面将指向类型。

4

1 回答 1

2

“是否有可能在其他动作中存在多个动作功能?” 那将如何运作?动作方法只是常规的 .NET 方法——动作中的动作并没有真正的意义。

如果您想在一个控制器中全部使用,则必须具有以下内容:

public ActionResult UserSettings(int userid) { /*...*/ }
public ActionResult UserName(int userid) { /*...*/ }
public ActionResult UserDescription(int userid) { /*...*/ }
public ActionResult PageSettings(int userid) { /*...*/ }
public ActionResult PageName(int userid) { /*...*/ }
public ActionResult PageDescription(int userid) { /*...*/ }

您可以像这样连接路由:

routes.MapRoute(
                name: "Default",
                url: "Manage/Users/{userid}/Settings",
                defaults: new { controller = "Manage", action = "UserSettings" },
                constraints = new { userid = @"\d+" }
            );

等等

于 2013-08-04T21:23:37.253 回答