增加了可自定义每页的记录数,并修订了在ajax的情况下,js不能动态绑定页面记录数绑定的问题
部分代码如下:
/**/
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="RenderContents"]/*'/>
protected
override
void
RenderContents(HtmlTextWriter writer)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if (PageCount <= 1 && !AlwaysShow)
return;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (ShowCustomInfoSection == ShowCustomInfoSection.Left)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
writer.Write(GetCustomInfoText(CustomInfoHTML));
writer.RenderEndTag();
WriteCellAttributes(writer, false);
writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
int midpage = ((CurrentPageIndex - 1) / NumericButtonCount);
int pageoffset = midpage * NumericButtonCount;
int endpage = ((pageoffset + NumericButtonCount) > PageCount) ? PageCount : (pageoffset + NumericButtonCount);
this.CreateNavigationButton(writer, "first");
this.CreateNavigationButton(writer, "prev");
if (ShowPageIndex)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (CurrentPageIndex > NumericButtonCount)
CreateMoreButton(writer, pageoffset);
for (int i = pageoffset + 1; i <= endpage; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
CreateNumericButton(writer, i);
}
if (PageCount > NumericButtonCount && endpage < PageCount)
CreateMoreButton(writer, endpage + 1);
}
this.CreateNavigationButton(writer, "next");
this.CreateNavigationButton(writer, "last");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if ((ShowInputBox == ShowInputBox.Always) || (ShowInputBox == ShowInputBox.Auto && PageCount >= ShowBoxThreshold))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
string inputClientID = this.UniqueID + "_input";
writer.Write(" ");
if (!string.IsNullOrEmpty(TextBeforeInputBox))
writer.Write(TextBeforeInputBox);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "30px");
writer.AddAttribute(HtmlTextWriterAttribute.Value, CurrentPageIndex.ToString());
if (!string.IsNullOrEmpty(InputBoxStyle))
writer.AddAttribute(HtmlTextWriterAttribute.Style, InputBoxStyle);
if (!string.IsNullOrEmpty(InputBoxClass))
writer.AddAttribute(HtmlTextWriterAttribute.Class, InputBoxClass);
if (PageCount <= 1 && AlwaysShow)
writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "true");
writer.AddAttribute(HtmlTextWriterAttribute.Name, inputClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Id, inputClientID);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
string chkInputScript = "ANP_checkInput('" + inputClientID + "'," + PageCount.ToString() + ")";
string keydownScript = "ANP_keydown(event,'" + this.UniqueID + "_btn');";
string clickScript = "if(" + chkInputScript + "){ANP_goToPage(document.getElementById('" + inputClientID + "'));}";
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
writer.AddAttribute("onkeydown", keydownScript);
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
if (!string.IsNullOrEmpty(TextAfterInputBox))
writer.Write(TextAfterInputBox);
writer.AddAttribute(HtmlTextWriterAttribute.Type, (UrlPaging == true) ? "Button" : "Submit");
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID + "_btn");
writer.AddAttribute(HtmlTextWriterAttribute.Value, SubmitButtonText);
if (!string.IsNullOrEmpty(SubmitButtonClass))
writer.AddAttribute(HtmlTextWriterAttribute.Class, SubmitButtonClass);
if (!string.IsNullOrEmpty(SubmitButtonStyle))
writer.AddAttribute(HtmlTextWriterAttribute.Style, SubmitButtonStyle);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//TODO:chen gang 2007-01-25 增加鼠标移动样式改变
if (SubmitButtonOnMouseOver != null && SubmitButtonOnMouseOver.Trim().Length > 0)
writer.AddAttribute("onmouseover", "this.className='" + SubmitButtonOnMouseOver + "';");
if (SubmitButtonOnMouseOut != null && SubmitButtonOnMouseOut.Trim().Length > 0)
writer.AddAttribute("onmouseout", "this.className='" + SubmitButtonOnMouseOut + "';");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (PageCount <= 1 && AlwaysShow)
writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "true");
writer.AddAttribute(HtmlTextWriterAttribute.Onclick, (UrlPaging == true) ? clickScript : "return " + chkInputScript);
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
add by chengang#region add by chengang
//TODO:add by chengang 2007-01-18
if ((ShowSelectBox == ShowInputBox.Always) || (ShowSelectBox == ShowInputBox.Auto && PageCount * PageSize >= ShowSelectBoxThreshold))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
string selectClientID = this.UniqueID + "_select";
writer.Write(" ");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (TextBeforeSelectBox != null)
writer.Write(TextBeforeSelectBox);
writer.AddAttribute(HtmlTextWriterAttribute.Type,"text");
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "50px");
writer.AddAttribute(HtmlTextWriterAttribute.Value, this.PageSize.ToString());
if (SelectBoxStyle != null && SelectBoxStyle.Trim().Length > 0)
writer.AddAttribute(HtmlTextWriterAttribute.Style, SelectBoxStyle);
if (SelectBoxClass != null && SelectBoxClass.Trim().Length > 0)
writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectBoxClass);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
writer.AddAttribute(HtmlTextWriterAttribute.Name, selectClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Id, selectClientID);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
string postRef1 = "if(event.keyCode==13){__doPostBack('" + this.UniqueID + "',document.all['" + this.UniqueID + "_select'].value)}";
string keydownScript1 = "if(event.keyCode==13){event.returnValue=false;document.all['" + this.UniqueID + "'][1].click();}";
string clickScript1 = "location.href=BuildUrlString('" + urlPageSize + "',document.all['" + this.UniqueID + "_select'].value);";
string scriptRef = "doCheck(document.all['" + this.UniqueID + "_input'])";
// string scriptRef = "";
writer.AddAttribute("onchange", (UrlPaging == true) ? keydownScript1 : postRef1);
writer.RenderBeginTag(HtmlTextWriterTag.Select);
//writer.RenderEndTag();
// writer.RenderBeginTag(HtmlTextWriterTag.Script);
// string scriptLoadSelect = "var selectitem = document.all("" + this.UniqueID + "_select");var oOption1 = document.createElement("OPTION"); oOption1.text = "" + this.PageSize.ToString() + "";oOption1.value = " + this.PageSize.ToString() + ";selectitem.add(oOption1);for(var i=5;i<=40;i=i+5){var oOption = document.createElement("OPTION");oOption.text = i;oOption.value = i; selectitem.add(oOption);}var oOption = document.createElement("OPTION"); oOption.text = "全部";oOption.value = " + this.PageSize * this.PageCount + ";selectitem.add(oOption);";
// writer.Write(scriptLoadSelect);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//TODO:实现功能:增加页面数设置的绑定,修订了js在ajax的情况不能对该设置的刷新.add by chengang 2007-01-18
bool selectAll = true;
for(int i=5;i<=40;i=i+5)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (i == this.PageSize)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
writer.AddAttribute(HtmlTextWriterAttribute.Selected, "Selected");
selectAll = false;
}
writer.AddAttribute(HtmlTextWriterAttribute.Value, i.ToString());
writer.RenderBeginTag(HtmlTextWriterTag.Option);
writer.Write(i.ToString());
writer.RenderEndTag();
}
//记录数超过1000
if (this.PageSize * this.PageCount < 1000)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (selectAll)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
writer.AddAttribute(HtmlTextWriterAttribute.Selected, "Selected");
}
writer.AddAttribute(HtmlTextWriterAttribute.Value, (this.PageSize * this.PageCount).ToString());
writer.RenderBeginTag(HtmlTextWriterTag.Option);
writer.Write("全部");
writer.RenderEndTag();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
writer.RenderEndTag();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (TextAfterSelectBox != null)
writer.Write(TextAfterSelectBox);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
writer.AddAttribute(HtmlTextWriterAttribute.Type, (UrlPaging == true) ? "Button" : "Submit");
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID + "");
writer.AddAttribute(HtmlTextWriterAttribute.Value, SubmitButtonSelectText);
if (SubmitButtonClass != null && SubmitButtonClass.Trim().Length > 0)
writer.AddAttribute(HtmlTextWriterAttribute.Class, SubmitButtonClass);
if (SubmitButtonStyle != null && SubmitButtonStyle.Trim().Length > 0)
writer.AddAttribute(HtmlTextWriterAttribute.Style, SubmitButtonStyle);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//TODO:chen gang 2007-01-25 增加鼠标移动样式改变
if (SelectBoxOnMouseOver != null && SelectBoxOnMouseOver.Trim().Length > 0)
writer.AddAttribute("onmouseover", "this.className='" + SelectBoxOnMouseOver + "';");
if (SelectBoxOnMouseOut != null && SelectBoxOnMouseOut.Trim().Length > 0)
writer.AddAttribute("onmouseout", "this.className='" + SelectBoxOnMouseOut + "';");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
writer.AddAttribute(HtmlTextWriterAttribute.Onclick, (UrlPaging == true) ? clickScript1 : "return " + scriptRef);
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
}
#endregion add by chengang
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (ShowCustomInfoSection == ShowCustomInfoSection.Right)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
writer.RenderEndTag();
WriteCellAttributes(writer, false);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(GetCustomInfoText(CustomInfoHTML));
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
#endregion
如需要全部代码联系我msn:eme915@hotmail.com