DataPager 和 ASP.NET 页面路由的 QueryStringField?

发布于 2024-11-18 11:57:11 字数 1579 浏览 4 评论 0原文

我正在使用 DataPager 的 QueryStringField 在 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

如何做到这一点?

I am using QueryStringField to of DataPager to show page number in url. Work fines.
But i don't want the name of field to be shown in url. what i tired is

Global File Code:

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

and in html i wrote for DataPager.

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

So the url generated is :

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

where as i want.

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

How to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无名指的心愿 2024-11-25 11:57:11

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

You can use the URL Rewrite module on the IIS.

巨坚强 2024-11-25 11:57:11

您尝试在此处重写您的 URL。

ScottG's Blog 最好理解这个概念。

请参阅以下 URL:

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

You try re-writing your URL here.

ScottG'S Blog is best to understand this concept.

Refer below URL:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文