在 2 个控制器和一些操作链接中使用时使用 mvc 分页助手进行路由

发布于 2024-10-24 20:36:37 字数 694 浏览 2 评论 0原文

我制作了一个 mvc 分页助手,我需要在一些操作链接中使用它 (不同主体,不同控制者) 我被困在路由系统中(我不知道如何通过它) 这是我的寻呼机助手:

enter code here public static string PageLinks(this HtmlHelper html , int currentPage,int totalPages ,Func<int,string> pageUrl)
    {
        StringBuilder result = new StringBuilder();
        for (int i = 1; i <= totalPages; i++)
        {
            TagBuilder tag = new TagBuilder("a");
            tag.MergeAttribute("href", pageUrl(i));
            tag.InnerHtml = i.ToString();
            if (i == currentPage)
                tag.AddCssClass("Selected");
            result.AppendLine(tag.ToString());
        }
        return result.ToString();

    }

谢谢。

I have made an mvc paging helper and I need to use it in a few action links
(different subjects and different controller )
I'm stuck in the routing system ( I have no idea how to pass it )
This is my pager helper :

enter code here public static string PageLinks(this HtmlHelper html , int currentPage,int totalPages ,Func<int,string> pageUrl)
    {
        StringBuilder result = new StringBuilder();
        for (int i = 1; i <= totalPages; i++)
        {
            TagBuilder tag = new TagBuilder("a");
            tag.MergeAttribute("href", pageUrl(i));
            tag.InnerHtml = i.ToString();
            if (i == currentPage)
                tag.AddCssClass("Selected");
            result.AppendLine(tag.ToString());
        }
        return result.ToString();

    }

Thanks .

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

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

发布评论

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

评论(2

水中月 2024-10-31 20:36:37

我不太明白你在问什么,但如果是如何调用这个助手,它可能是这样的:

<%= Html.PageLinks(
    1, 
    10,
    p => Url.Action("SomeAction", "SomeController", new { page = p })
) %>

I don't quite understand what you are asking but if it is how to call this helper here's how it might look like:

<%= Html.PageLinks(
    1, 
    10,
    p => Url.Action("SomeAction", "SomeController", new { page = p })
) %>
鹿! 2024-10-31 20:36:37

您需要将以下内容添加到 Global.asax

 routes.MapRoute(
                          "any name",
                          "ControllerName/Page/{page}",
                          new { controller = "ControllerName", action = "Index" }
                      );

you need to add the following to you Global.asax

 routes.MapRoute(
                          "any name",
                          "ControllerName/Page/{page}",
                          new { controller = "ControllerName", action = "Index" }
                      );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文