留言簿
留言成功,请等待站长审核,谢谢支持!
2012-05-29 23:25 陈胜利
你好,我用你的分页控件,不加我的样式的时候是好好的,也能用,如果加入我的样式后分页控件就变形了,但是还能用,我也不知道是那个CSS样式影响到它了,求助
回复:您好,这需要用firebug或chrome、IE9等浏览器自带的调试工具进行调试,找出相关CSS样式进行排查,这种问题是无法从您的描述中说清楚的。谢谢!
2012-05-29 21:29 phiree@gmail.com
urlrewritepattern问题及修改:
问题描述) 目前的url格式为 www.xxx.com/X省/X市, 用来X省X市的人员列表.(对应的实际url为 www.xxx.com/default.aspx?province=X省&city=X市). 希望用urlrewritepattern用如下url格式实现分页:"www.xxx.com/x省/x市/3" (3表示页数),但是中间的 /x省/x市/是可以为空的,例如 X省/3 表示 X省下所有人员的第三页. /3 表示所有人员的第三页. 现在我的urlRewritPattern设置为 "/%provice%/%city%/{0}",如果 url中没有省和市(www.xxx.com/3),则分页按钮的地址变为 "///3"
原因)Helper.cs第283行 GetHrefString 方法内 替换urlstring的值时,如果请求url内没有对应的参数,应该移除一个 "/"
我的解决方式)
将代码改为:
foreach (Match m in mts)
{
prmValue = urlParams[m.Groups["m"].Value];
if (!string.IsNullOrEmpty(prmValue))
{
url = url.Replace(m.Groups["p"].Value, prmValue);
}
else
{
url = url.Replace(m.Groups["p"].Value+"/", string.Empty);
}
}
不知道是否有更合适的方案?
回复:您好,可以用一个默认值代替,比如0,代表所有省份。谢谢!
2012-05-28 10:44 郭骏杰
请问一下我用aspnetpage 分页不稳定 有时候分页很正常 有时候分页不加载数据。
public void DataPage(string strWhere)
{
int page;
if (Convert.ToInt32(Request.QueryString["page"]) <= 1)
{
page = 1;
}
else
{
page = Convert.ToInt32(Request.QueryString["page"]);
}
sgvNews.DataSource = "";
sgvNews.DataSource = pro_news.NewPage(AspNetPager1.PageSize.ToString(), page.ToString(), strWhere);
sgvNews.DataBind();
}
pageload里面的
if (Session["user"] != null)
{
string strWhere = GetWhere(ddlType.SelectedValue, ddlClass.SelectedValue, ddlAudit.SelectedValue, txtAuthor.Text.Replace("'", "''"));
AspNetPager1.RecordCount = pro_news.AllCount(strWhere);
DataPage(strWhere);
}
回复:您好,不能加载数据和您的数据访问代码有关,AspNetPager和数据没有直接关系,请仔细检查调试。另外获取当前页索引用AspNetPager的CurrentPageIndex属性即可,无需用Request.QueryString["page"]这样的方法。谢谢!
2012-05-28 09:09 rexshop
在淘宝上买的商业AspNetPager你还没有给我文件呢
回复:已经发给您了,非常感谢您的支持!
2012-05-27 23:28 闵志伟
后来我尝试了下不用url分页 就行 求解。
回复:您好,这是您的url重写实现方式的问题,和AspNetPager没有关系,您需要检查调试你的url重写实现。谢谢!
2012-05-27 20:47 闵志伟
哦 上面的这句是多余的AspNetPager1.CurrentPageIndex = page - 1; 帮我看看是怎么回事哈
回复:请先去掉url重写功能看是否能正确分页。谢谢!
2012-05-27 20:46 闵志伟
我这个新闻是url分页 但不知道是什么原因 我数据都取对了 ,但最下面pager显示的当前页始终是1?
前台:
<webdiyer:AspNetPager CssClass="pages" ID="AspNetPager1" runat="server"
PrevPageText="上一页" NextPageText="下一页"
FirstPageText="首页" LastPageText="末页"
OnPageChanged="AspNetPager1_Changed" CustomInfoTextAlign="Left" EnableUrlRewriting="true" UrlPaging="true">
</webdiyer:AspNetPager>
后台:
string pageUrl = "New/{0}.aspx";
string typeWhere = "type=1";
private void Bind()
{
if (Request["type"] != null && Regex.IsMatch(Request["type"], "^(0|1)$"))
{
typeWhere = "type=1 and int_1=" + Request["type"];
pageUrl = "New/" + Request["type"] + "/{0}.aspx";
}
AspNetPager1.UrlRewritePattern = pageUrl;
KeyValuePair<System.Data.DataSet, int> kv = new KeyValuePair<DataSet, int>();
int page = 1;
if (Request["page"] == null || int.TryParse(Request["page"], out page) == false)
{
page = 1;
}
kv = new ST.BLL.BUS_Article().GetPageDateSet(page, 2,typeWhere, "title,addtime,id,subtitle", "addtime desc,id desc");
repNew.DataSource = kv.Key;
repNew.DataBind();
AspNetPager1.RecordCount = kv.Value;
AspNetPager1.CurrentPageIndex = page - 1;
AspNetPager1.PageSize = 2;
}
protected void AspNetPager1_Changed(object o, EventArgs e)
{
Bind();
}
急哈,有空帮我看看,谢谢!!!
回复:您好,这个问题应该是您url重写实现有问题,不知道您是怎么实现url重写的?请先不要启用url重写试试看是否能正确分页。谢谢!
2012-05-25 10:01 蛋蛋
老师,现在我的ASPNETPAGER显示出来了。可是不按照PAGESIZE来分页。请问有什么原因?
回复:3您好,这应该是您获取数据的问题,您没有把pagesize正确传递到数据获取方法中,或者没有按这个值来正确获取分页数据。请检查。谢谢!
2012-05-24 23:43 dandan
老师,我用的是repeater与ASPNETPAGE,可是页面不显示ASPNETPAGE控件!求帮助!
public partial class weathedit : System.Web.UI.Page
{
int id = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
//bindData(); //使用url分页,只需在分页事件处理程序中绑定数据即可,无需在Page_Load中绑定,否则会导致数据被绑定两次
}
}
private void BindGrid()
{
string settings = ConfigurationManager.AppSettings["ConStr"].ToString();
//Response.Write(settings);
//Response.End();
SqlConnection sqlCon = new SqlConnection(settings);
sqlCon.Open(); //打开数据库连接
string sqlstr = "select * from WeatherInfo";
SqlCommand mycmd = new SqlCommand(sqlstr, sqlCon);//创建数据库命令
SqlDataReader mydr = mycmd.ExecuteReader(CommandBehavior.CloseConnection);
//Repeater数据控件绑定
rptUser.DataSource = mydr;//指定数据源
rptUser.DataBind();//绑定到指定的数据源
}
protected void rptUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
System.Data.Common.DbDataRecord record = (System.Data.Common.DbDataRecord)e.Item.DataItem;
int userId = int.Parse(record["weinfo_id"].ToString());
if (userId != id)
{
((Panel)e.Item.FindControl("plItem")).Visible = true;
((Panel)e.Item.FindControl("plEdit")).Visible = false;
}
else
{
((Panel)e.Item.FindControl("plItem")).Visible = false;
((Panel)e.Item.FindControl("plEdit")).Visible = true;
}
}
}
protected void rptUser_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
id = int.Parse(e.CommandArgument.ToString());
}
else if (e.CommandName == "Cancel")
{
id = -1;
}
else if (e.CommandName == "Update")
{
string weatherdate = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtdate")).Text.Trim();
string weathertime = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txttime")).Text.Trim();
string weath = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtwea
回复:您好,没见到您有设置RecordCount属性的代码,请检查,这个属性的值代表要分页的总记录数,如果不设置的话默认就是0。谢谢!
2012-05-24 21:56 laowang
谢谢你的控件,谢谢你的热心,谢谢你的努力,祝你工作顺利
回复:谢谢支持!也祝您工作顺序,生活幸福!