我正在嘗試.NET 4.0的新功能 - 網址路由,但無法獲取在網址中傳遞的信息。以下是代碼:AsP.NET 4.0網址路由
GLOBAL.ASPX.CS
protected void Application_Start(object sender, EventArgs e)
{
SetRouting(RouteTable.Routes);
}
private void SetRouting(RouteCollection routeCollection)
{
routeCollection.MapPageRoute("Company",
"Company/{CompanyName}",
"~/Asset/RequestForm.aspx", true, new RouteValueDictionary { { "CompanyName", "?CompanyName" } });
routeCollection.MapPageRoute("Deal",
"Company/{CompanyName}/{DealName}",
"~/Asset/RequestForm.aspx", true, new RouteValueDictionary { { "DealName", "?DealName" } });
routeCollection.MapPageRoute("ClientRoute",
"Client/{ClientCompanyName}",
"~/User/Login.aspx", true, new RouteValueDictionary { { "ClientCompanyName", "?ClientCompanyName" } });
}
的Login.aspx:
private string CompanyName {
get
{
if (Page.RouteData.Values["ClientCompanyName"] == null)
{
return null;
}
return Page.RouteData.Values["ClientCompanyName"].ToString();
}
}
現在上面提到的回報的財產空,即使我在URL中使用客戶端/谷歌。當我重置IIS(IIS 6)並首次執行時,它會返回值。否則它給null。
ANY CLUE ??
感謝您的答覆。但同樣的原因是我的登錄頁面被擊中兩次。首先使用期望的URL,然後將ClientCompanyName替換爲「iepngfix.htc」。這發生在IE – Ankit 2011-04-06 09:54:43
你使用IIS7嗎? – SideFX 2011-04-06 12:22:02