2011-04-18 76 views
1

我正在使用最新的功能url路由,但它不工作。代碼之前,下面是個你必須知道:asp.net Url路由不能使用表單身份驗證

  1. 其非MVC
  2. 我使用我在哪裏重定向用戶的Login.aspx
  3. 網站上IIS6
  4. 開發託管形式認證 - VS 2010,.NET 4.0

Webconfig代碼:

<authentication mode="Forms"> 
    forms name=".COOKIEDEMl" timeout="90" loginUrl="~/User/Login.aspx" defaultUrl="~/index.aspx"/> 
</authentication> 

的Global.asax代碼:

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" } }); 
} 

用戶不重定向到RequestForm.aspx當用戶鍵入網址:http://localhost/testprj/company/Gmail/?my deal

+0

有什麼意見? – Ankit 2011-04-26 07:01:21

回答

0

你不可錯過的查詢字符串參數到路線。而是使用路由參數。即不要使用?my-deal,而要使用company/gmail/my-deal

另外,最好不要在URL中使用任何空格。用連字符(不是下劃線)替換它們。