当前位置 : 首页 » 互动问答 » 正文

如何在一个动作中使用属性路由?

分类 : 互动问答 | 发布时间 : 2018-04-27 15:41:18 | 评论 : 2 | 浏览 : 24 | 喜欢 : 3

我需要通过mvc5中的属性路由来路由到一个动作。 我的行动:<路线(“bus / {DepProvince} {From} / {DesProvince} - {To} / {DepartureDate} / {IsForeign}”)]         public ActionResult Index(int?DepProvince,int?from / * City * /,int?DesProvince,int?to / * City * /,string DepartureDate,bool?IsForeign){}

查询字符串是:

/ Bus?DepProvince = 11000000&From = 11321006&RetProvince = 31000000&To = 31310000&DepartureDate = 1396%2F09%2F07&IsForeign = False

我需要通过以下URL访问此操作:

/ Bus / 11000000-11321006 / 31000000-31310000 / 13960907/0

我在Routconfig.cs中使用这段代码:

routes.MapMvcAttributeRoutes();                      routes.IgnoreRoute( “{}资源个.axd / {*} PATHINFO”);                       // - - - - - - - - - - -巴士路线 - - - - - - - - - - - - - -             routes.MapRoute(             名称:“BusRoute”,             网址:“{* permalink}”,             默认值:new {controller =“Bus”,action =“Index”},             约束条件:new {permalink = new BusConstraint()},             命名空间:new [] {“TravelEnterProject.Controllers”}             );

运行应用程序出错时:

如何解决这个问题?

How to fix this?

回答(2)

  • 1楼
  • <路由(“bus / {From:int} - {To:int} / {DepartureDate} / {IsForeign:bool}”这个字段是默认的,所以不需要包含它。 )]

     ASP.NET MVC中的属性路由5

    Reference Attribute Routing in ASP.NET MVC 5

  • 2楼
  • 我解决了我的问题:

     [Route(“bus”)]
    〔路线(“总线/索引”)]
    
        〔路线( “总线/ {来自:INT} / {若要:整数} / {日期:整数} / {IsForeign:INT:范围(0,1)} / {名称}”)]
                    public ActionResult Index(int?From,int?To,int?Date,int?IsForeign)

相关阅读: