我正在使用最新的功能url路由但它无法正常工作。在代码之前,以下是您必须知道的要点:
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 :(得分:0)
您无法将查询字符串参数传递到路径中。而是使用路线参数。即不要使用?my-deal,而是使用company / gmail / my-deal
此外,最好不要在URL中使用任何空格。用连字符(不是下划线)替换它们。