首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于简单需求管理工具的ASP.NET自定义路由

用于简单需求管理工具的ASP.NET自定义路由
EN

Stack Overflow用户
提问于 2010-05-11 14:48:46
回答 1查看 138关注 0票数 1

我正在实现一个非常简单的需求管理工具。

我希望URL看起来像这样:

显示"Project One“的主页:

http://projectmanager/Project/Project%20One

显示了"Project One“正在处理的需求列表

http://projectmanager/Project/Project%20One/Requirements

显示“项目一”的需求1

http://projectmanager/Project/Project%20One/Requirement/1

我如何设置路由,以便

代码语言:javascript
运行
复制
http://projectmanager/Project/Project%20One 

是由项目控制器处理的

代码语言:javascript
运行
复制
http://projectmanager/Project/Project%20One/Requirements
and
http://projectmanager/Project/Project%20One/Requirements/1

是由需求控制器处理的。

这有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2010-05-11 19:46:37

我想是的。

其中一个选项是:

控制器:

代码语言:javascript
运行
复制
public class ProjectController : Controller
{
    public ActionResult Project(string projectName)
    {
        return Content("Project: " + projectName);
    }
}

public class RequirementsController : Controller
{
    public ActionResult Requirements(string projectName)
    {
        return Content("Requirements: " + projectName);
    }

    public ActionResult Requirement(string projectName, int id)
    {
        return Content("Requirement: " + projectName + " - " + id);
    }
}

路由注册:

代码语言:javascript
运行
复制
        routes.MapRoute(null,
                        "Project/{projectName}",
                        new {controller = "Project", action = "Project"});
        routes.MapRoute(null,
                        "Project/{projectName}/Requirements",
                        new { controller = "Requirements", action = "Requirements" });
        routes.MapRoute(null,
                        "Project/{projectName}/Requirement/{id}",
                        new { controller = "Requirements", action = "Requirement" });

Id取决于您想要的其他路由。

编辑:顺便说一句:这个路由应该添加在你的默认路由之前(如果你仍然从应用程序模板中获得它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2808580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档