2011-07-04 58 views
1

我使用QueryStringField来DataPager显示网址中的页码。罚款。 但我不希望字段的名称显示在网址中。我累是DataPager和ASP.NET页面路由的QueryStringField?

全局文件编号:

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

和HTML我写了DataPager的。

<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> 

所以生成的URL是:

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

那里,因为我想要的。

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

如何做到这一点?

+0

喜,如果你的问题是使用任何参考的解决下面标记的答复,通过点击每个答案下面打勾,你也可以投票了由答案的答案点击每个答案左侧的向上箭头... – Murtaza

回答

0

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

+0

当您提供答案时,请提供详细的研究和信息 – Sid

+0

听起来很有希望 - 可能扩展您的答案以展示如何? – GraphicsMuncher