1
我有一個工作頁面,其中有多個參數,比如jobType,工作負載等。 頁面可能有也可能沒有任何/所有參數。MVC路線圖無法正常工作
的RouteMap:
routes.MapRoute(
"JobsRoute",
url: "Jobs/Index/{workload}/{jobType}",
defaults: new { controller = "Jobs", action = "Index", workload = UrlParameter.Optional, jobType = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "PostJob", action = "Index", id = UrlParameter.Optional }
);
控制器(部分方法代碼):
public ActionResult Index(string workload = "", string jobType = "")
{
SearchJobs model = new SearchJobs();
using (var context = new OutsourceEntityContext())
{
model.lstJobs = context.Jobs.ToList();
if (!workload.Equals(""))
{
int jobWorkloadKey = context.JobWorkload.Where(t => t.Name.Equals(workload)).First().Key;
model.lstJobs = model.lstJobs.Where(t => t.WorkloadKey == jobWorkloadKey).ToList();
}
}
}
我想這樣的URL的工作:
http://localhost:51576/Jobs/workload/15-20%20hours%20per%20week
http://localhost:51576/Jobs/workload/15-20%20hours%20per%20week/jobType/Hourly
感謝您的幫助。
羅漢。
您的路線有'/ Jobs/Index/{工作負載}/{jobType}' - 如果您不想'Index',則將其更改爲'/ Jobs/{workload}/{jobType }'但它不清楚你期望你的第二個例子打 - 這是一個完全不同的路線 –
第二個也應該擊中同一個頁面,第二個參數有一些價值..(非空) –
在第二個中你有4個路線值(你的定義只有2)。如果您使用路線,只有最後一個參數可以選擇。不清楚你試圖做什麼 –