C# 寻呼机模板和NumericPagerField

C# 寻呼机模板和NumericPagerField,c#,.net,C#,.net,我需要使用寻呼机模板,并将NumericPagerField的内容绑定到寻呼机模板 所需寻呼机:(无法发布图像,因为我没有10分) 展开/折叠------------------------------------------第页 在ASPX页面上: <asp:DataPager ID="ItemDataPager"> <Fields> <asp:TemplatePagerField> <PagerTemplate>

我需要使用寻呼机模板,并将NumericPagerField的内容绑定到寻呼机模板

所需寻呼机:(无法发布图像,因为我没有10分)

展开/折叠------------------------------------------第页

在ASPX页面上:

<asp:DataPager ID="ItemDataPager">
<Fields>
    <asp:TemplatePagerField>
        <PagerTemplate>
            <asp:Panel>
            Panel to create expand and collapse all
            </asp:Panel>
            <table>
                <tr>
                    <td>
                        <asp:LinkButton> Previous</asp:LinkButton>
                    </td>
                    <td>
                    <asp:Panel ID="NumericPagerPlaceHolder"></asp:Panel>
                    </td>
                    <td>
                    <asp:LinkButton>Next</asp:LinkButton>
                    </td>
                </tr>
            </table>
        </PagerTemplate>
    </asp:TemplatePagerField>
    <asp:NumericPagerField />
</Fields>
在第二行中,我找不到给出“NumericPagerPlaceHolder”内容的方法
我怎样才能做到这一点呢?

我并不是在解决你的经典ASP问题,但对于使用内置的ASP.NET控件(很抱歉你没能使用MVC3)会遇到的麻烦,你可以同样快速地编写一个
[WebMethod]
并使用JQGrid和JQuery来实现你的目标

JQGrid:

然后,为了捕获您的数据,您可以在JQuery中钩住$.ajax。这将使您的页面由ajax驱动如果这对您来说不是一个限制,那么最终实际执行您需要执行的操作和长期维护将容易10倍

$.ajax文档:

如何构建将数据绑定到网格的JSon返回对象(您的方法将返回字符串):

老实说,当您开始尝试使用动态数据绑定、分页和更新做一些奇怪的事情时,您最好不要使用内置的asp.net对象,而是使用自定义对象

编辑(实际使用asp:DataPager添加一些详细信息):

如果你一定要使用asp:DataPager,你可以深入这个信息丰富的博客,它涵盖了你要做的一切

~z~普通二进制

    DataPager dataPager = ((e.Item.FindControl("ItemDataPager")) as DataPager);
    Control numericPagerControl = dataPager;
    Control numericPagerPlaceHolder = dataPager.FindControl("NumericPagerPlaceHolder");
    numericPagerPlaceHolder.Controls.Add(numericPagerControl);
return Json(
    (
        new
        {
            total = totalPages /*calculate this total records / rowsPerPage */,
            page = page /* passed in by jqgrid */,
            records = YourCollection.Count(),
            rows =
                YourCollection.Select(x => new
                {
                    i = x.RowIdentifier,
                    cell = new[]
                            {
                                x.YourProperty,
                x.YourOtherProperty,
                x.YourOtherOtherProperty,
                x.YouGetThePointProperty
                            }
                }
                ).ToArray()
        }
    )
    , JsonRequestBehavior.AllowGet);