DataPager的QueryStringField和ASP.NET Page Route?

时间:2011-07-04 10:37:21

标签: asp.net c#-4.0 routing datapager

我正在使用DataPager的QueryStringField来显示url中的页码。罚款。 但我不希望字段的名称显示在URL中。我累的是

全局文件代码:

protected void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }
void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute("xyz", "Test/TestRoutes/{PageId}", "~/Demo1.aspx", true, new RouteValueDictionary { { "PageId", "1" } });
    }

并在我为DataPager编写的html中。

 <asp:DataPager ID="ProductListPagerComboTop" runat="server" PagedControlID="lv1"
        PageSize="5" QueryStringField="PageId">
        <Fields>
            <asp:NextPreviousPagerField RenderNonBreakingSpacesBetweenControls="false" ButtonCssClass="pagerButton"
                FirstPageText="&lt;&lt;" ShowFirstPageButton="True" ShowNextPageButton="False" />
            <asp:NumericPagerField CurrentPageLabelCssClass="pagerButtonCurrentPage" RenderNonBreakingSpacesBetweenControls="false"
                NextPreviousButtonCssClass="pagerButton" NumericButtonCssClass="pagerButton" />
            <asp:NextPreviousPagerField RenderNonBreakingSpacesBetweenControls="false" ButtonCssClass="pagerButton"
                LastPageText="&gt;&gt;" ShowLastPageButton="True" ShowPreviousPageButton="False" />
        </Fields>
    </asp:DataPager>

所以生成的网址是:

http://localhost:2055/Test/TestRoutes?PageId=2

我想要的地方。

http://localhost:2055/Test/TestRoutes/2

怎么做?

2 个答案:

答案 0 :(得分:0)

您可以在IIS上使用URL Rewrite模块。

答案 1 :(得分:0)

您尝试在此处重写您的网址。

ScottG博客最好理解这个概念。

请参阅以下网址:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx