我需要使用Pager模板并将NumericPagerField的内容绑定到寻呼机模板。
Desired Pager :(无法发布图片,因为我没有10分)
展开/折叠-------------------------------------------- --- Page< 1 2 3 4>
在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>
关于aspx.cs
我需要编写一个代码,从“NumericPagerField”获取内容,并将“Panel”放在“PagerTemplate”表中
我试过这种方式
DataPager dataPager = ((e.Item.FindControl("ItemDataPager")) as DataPager);
Control numericPagerControl = dataPager;
Control numericPagerPlaceHolder = dataPager.FindControl("NumericPagerPlaceHolder");
numericPagerPlaceHolder.Controls.Add(numericPagerControl);
在第二行,我无法找到给出“NumericPagerPlaceHolder”内容的方法 我怎样才能做到这一点?
答案 0 :(得分:1)
我不是在解决你的经典ASP问题,但是为了让你头疼,你将使用内置的ASP.NET控件(我很抱歉你的运气不能使用MVC3)你会很快写出来快速[WebMethod]
并使用JQGrid和JQuery来实现您的目标。
的jqGrid: http://www.trirand.com/blog/
然后要捕获您的数据,您可以在JQuery中挂钩到$ .ajax。这将使您的页面成为ajax驱动,如果这不是对您的限制,最终将更容易实现您需要做的事情并保持长期。
$ .ajax文档: http://api.jquery.com/jQuery.ajax/
如何构建一个返回的JSon对象将数据绑定到网格(您的方法将返回一个字符串):
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);
老实说,当你开始尝试使用动态数据绑定,分页和更新来做一些古怪的事情时,你最好不要使用内置的asp.net对象并进行自定义。
编辑(实际使用asp:DataPager添加一些细节):
如果你绝对必须使用asp:DataPager,你可以深入了解这个信息丰富的博客,其中涵盖了你想要做的所有事情,http://www.4guysfromrolla.com/articles/061009-1.aspx。
〜Vulgarbinary