增加了可自定义每页的记录数,并修订了在ajax的情况下,js不能动态绑定页面记录数绑定的问题
部分代码如下:
/**/
/// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="RenderContents"]/*'/>
protected
override
void
RenderContents(HtmlTextWriter writer)

...
{
if (PageCount <= 1 && !AlwaysShow)
return;

if (ShowCustomInfoSection == ShowCustomInfoSection.Left)

...{
writer.Write(GetCustomInfoText(CustomInfoHTML));
writer.RenderEndTag();
WriteCellAttributes(writer, false);
writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
}

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)

...{
if (CurrentPageIndex > NumericButtonCount)
CreateMoreButton(writer, pageoffset);
for (int i = pageoffset + 1; i <= endpage; i++)

...{
CreateNumericButton(writer, i);
}
if (PageCount > NumericButtonCount && endpage < PageCount)
CreateMoreButton(writer, endpage + 1);
}
this.CreateNavigationButton(writer, "next");
this.CreateNavigationButton(writer, "last");

if ((ShowInputBox == ShowInputBox.Always) || (ShowInputBox == ShowInputBox.Auto && PageCount >= ShowBoxThreshold))

...{
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);

string chkInputScript = "ANP_checkInput('" + inputClientID + "'," + PageCount.ToString() + ")";
string keydownScript = "ANP_keydown(event,'" + this.UniqueID + "_btn');";
string clickScript = "if(" + chkInputScript + "){ANP_goToPage(document.getElementById('" + inputClientID + "'));}";

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

//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 + "';");

if (PageCount <= 1 && AlwaysShow)
writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "true");
writer.AddAttribute(HtmlTextWriterAttribute.Onclick, (UrlPaging == true) ? clickScript : "return " + chkInputScript);
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
}



add by chengang#region add by chengang
//TODO:add by chengang 2007-01-18
if ((ShowSelectBox == ShowInputBox.Always) || (ShowSelectBox == ShowInputBox.Auto && PageCount * PageSize >= ShowSelectBoxThreshold))

...{
string selectClientID = this.UniqueID + "_select";
writer.Write(" ");


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


writer.AddAttribute(HtmlTextWriterAttribute.Name, selectClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Id, selectClientID);


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

//TODO:实现功能:增加页面数设置的绑定,修订了js在ajax的情况不能对该设置的刷新.add by chengang 2007-01-18
bool selectAll = true;
for(int i=5;i<=40;i=i+5)

...{
if (i == this.PageSize)

...{
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)

...{
if (selectAll)

...{
writer.AddAttribute(HtmlTextWriterAttribute.Selected, "Selected");
}
writer.AddAttribute(HtmlTextWriterAttribute.Value, (this.PageSize * this.PageCount).ToString());
writer.RenderBeginTag(HtmlTextWriterTag.Option);
writer.Write("全部");
writer.RenderEndTag();
}

writer.RenderEndTag();

if (TextAfterSelectBox != null)
writer.Write(TextAfterSelectBox);

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

//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 + "';");

writer.AddAttribute(HtmlTextWriterAttribute.Onclick, (UrlPaging == true) ? clickScript1 : "return " + scriptRef);
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
}
#endregion add by chengang

if (ShowCustomInfoSection == ShowCustomInfoSection.Right)

...{
writer.RenderEndTag();
WriteCellAttributes(writer, false);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(GetCustomInfoText(CustomInfoHTML));
}
}


#endregion
如需要全部代码联系我msn:eme915@hotmail.com