2
我曾在一個名爲RouteConfig一個靜態類,通過App_Start叫下面的代碼:路由在ASP.NET Web表單.NET 4.0 - GetVirtualPath返回null
// Create routes with default values for parameters
routes.MapPageRoute(
"SearchResultsRoute",
"SearchResults/{delegatesurname}/{starsid}/{dealercode}/{leadassessorid}/{locationid} /{datefrom}/{dateto}/{statusid}",
"~/SearchResults.aspx",
false,
new RouteValueDictionary
{
{"delegatesurname", string.Empty},
{"starsid", string.Empty},
{"dealercode", string.Empty},
{"leadassessorid", 0},
{"locationid", 0},
{"datefrom", string.Empty},
{"dateto", string.Empty},
{"statusid", 0}
}
);
// EnableFriendlyUrls() is removed, as that was blocking the routing for some reason.
我也稱爲類「導航」包含一個方法來創建一個URL:
protected string GetUrlFromRouteAndParams(string routeName, IDictionary<string,object> parameters)
{
var routeDict = new RouteValueDictionary(parameters);
var q = RouteTable.Routes.GetVirtualPath(null, routeName, routeDict);
return ""; // ignore this line its not pertinent to question
}
現在,當我致電上述GetUrlFromRouteAndParams,就像這樣:
var pageParams = new Dictionary<string, object>()
{
{"delegatesurname", _view.DelegateSurname}
{"starsid", _view.STARSID},
{"dealercode", _view.DealerCode},
{"leadassessorid", _view.LeadAssessorID},
{"locationid", _view.LocationID},
{"datefrom", string.Empty },
{"dateto", string.Empty},
{"statusid", 0}
};
var url = navigator.GetUrlFromRouteAndParams("SearchResultsRoute", pageParams);
GetUrlFromRouteAndParams中的GetVirtualPath調用返回null。
這是爲什麼?我該如何解決它?
在此先感謝。
你得到在Q什麼價值? –
q爲空,表示找不到路由,但我已經通過在瀏覽器中輸入URL searchresults/Scott /進行了測試,它工作得很好。 – Scott
我也刪除了EnableFriendlyUrls(),因爲干擾路由 – Scott