3
我的web應用程序中有多個動作的多個路徑控件。如何在route.config中訂購多個路線?
此行動是由參數 -
routes.MapRoute(
name: "SpecificRoute",
url: "{BusinessName}",
defaults: new { controller = "Business", action = "OpenPage" }
);
叫這一個是通過action
名字叫和參數 -
routes.MapRoute(
name: "ResumeRoute",
url: "{action}/{PublicResume}",
defaults: new { controller = "Business", action = "PublicResume" }
);
而對於所有的默認行爲我已經被默認 -
有一個路由控制routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{*id}",
defaults: new { controller = "WelcomeLedger", action = "Welcome", id = UrlParameter.Optional }
);
我已經在本地IIS服務器上部署了此應用程序。
現在route.config
文件出了點問題,也許我沒有正確地使用路線。
因此,此應用程序顯示我在每個動作上都有resource not found error
,有時它在清潔解決方案後有效。
如何在不破壞使用方式的情況下使用操作?
這是將它添加上述兩個定製路由後,我的route.config文件 -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcApplication8 {
public class RouteConfig {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.MapRoute(
name: "SpecificRoute",
url: "{BusinessName}",
defaults: new { controller = "Business", action = "OpenPage" }
);
routes.MapRoute(
name: "ResumeRoute",
url: "{action}/{PublicResume}",
defaults: new { controller = "Business", action = "PublicResume" }
);
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{*id}",
defaults: new { controller = "WelcomeLedger", action = "Welcome", id = UrlParameter.Optional }
);
}
}
}
編輯 -
缺省路由未找到(resource not found
)。
不,它是默認存在。請注意當我刪除自定義路線。資源錯誤永遠不會發生。但我確實需要兩種定義的路線。 – Manoj
對不起,如果我誤解了你,但默認在mvc url:「{controller}/{action}/{id}」不是url:「{controller}/{action}/{* id}」,你確定嗎? – hutchonoid
我不知道它爲什麼在那裏。是的,你是正確的默認路線。據說我的路由文件是正確的,除了這個錯字? – Manoj