留言簿
2010/9/1 20:54:14 duan
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindData();
int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "Pr_GetCategorys()");
AspNetPager1.RecordCount = totalOrders;
}
}
void bindData()
{
DataList1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
DataList1.DataBind();
}
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
bindData();
}
异常详细信息: System.InvalidOperationException: ExecuteReader: CommandText 属性尚未初始化
回复:您好,这和分页控件没有任何关系,您的代码中是从配置文件中获取的确CommandText,请检查您的web.config文件中是否有AppSettings["pagedSPName"]这个配置。
2010/9/1 14:45:53 thank you
控件很好很强大,谢谢你的无私奉献!
回复:谢谢支持!
2010/8/31 21:57:09 Easy
非常感谢你的分页控件,我找了很久,不但看到了你的控件,也读了你的事迹,很感动.再回头想想自己,很惭愧,很多次半途而废!惭愧啊
回复:谢谢支持!每个人走的路都不同,只要能坚持自己的路走下去,一定能走向成功的终点!我们共同努力,祝您成功!
2010/8/30 16:58:07 aj
我使AspNetPager控件然后报出错误“引超出范围。必须为非负值并小于集合大小。”但是另外一个页面中同样AspnetPager却没有报错。为什么呢? 我明白错误提示的意思,但是不清楚具体的错误位置,还有要怎么改? 你能告诉我最可能的错误出错的原因吗?
部分代码:
<webdiyer:AspNetPager ID="AspNetPager1" OnPageChanging="AspNetPager1_PageChanging"
runat="server" PageSize="12" CurrentPageButtonStyle="color:black" ForeColor="#404040"
SubmitButtonStyle="color:black" CustomInfoStyle="color:black">
</webdiyer:AspNetPager>
这我是放在一个table里面的
后台:
private void Bind()
{
CMS.BLL.NewsManage nm = new CMS.BLL.NewsManage();
nm.SortField = "createTime desc,modifyTime desc";
ArrayList al = nm.Get("kindID =" + Convert.ToInt32(CMS.CommonUtility.BXWebConfigUtility.AppSetting("news_xw")), this.AspNetPager1.StartRecordIndex - 1,this.AspNetPager1.PageSize );
nm.Dispose();
this.RPTList.DataSource = al;
this.RPTList.DataBind();
al.Clear();
}
private void GetPageCount()
{
CMS.BLL.NewsManage nm = new CMS.BLL.NewsManage();
nm.SortField = "createTime desc,modifyTime desc";
ArrayList al = nm.Get("kindID =" + Convert.ToInt32(CMS.CommonUtility.BXWebConfigUtility.AppSetting("news_xw")));
nm.Dispose();
this.AspNetPager1.RecordCount = al.Count;
al.Clear();
}
还有其他地方的问题吗 我不知道了 就粘这两处 麻烦给看一下 谢谢
回复:您好,这个出错原因很可能是数据绑定控件或数据集的问题,从您的代码中无法直接看出哪里有问题,您可以在调试模式下设置断点逐步调试,看看错误出在哪一行代码上,然后对症解决。谢谢!
2010/8/30 12:08:57 复关伊人
var detail= activitytity.ExecuteStoreQuery<activity>("select * from activity");
IQueryable < activity > then= detail.AsQueryable();
PagedList<activity> last = then.ToPagedList<activity>(id?? 1,5);
我用ExecuteStoreQuery方法返回的对象结果没法调用topagedlist()所以采用iquery 进行转换,但是提示说(不能枚举多次) 请问这问题如何解决呢
回复:您好,把
var detail= activitytity.ExecuteStoreQuery("select * from activity");
改成这样:
var detail= activitytity.ExecuteStoreQuery("select * from activity").ToList();
即可。谢谢!
var detail= activitytity.ExecuteStoreQuery
改成这样:
var detail= activitytity.ExecuteStoreQuery
即可。谢谢!
2010/8/27 15:58:50 小李
您好,我很欣赏您在asp.net方面的才华。
现在我遇到了一个问题,但在您提供的开源里找不到对应的解决方法,可能是我看不懂吧。
我编写了一个自定义的web服务器控件,派生于Control的。创建控件是动态加载的。
protected virtual void CreateCtl(Control control)
{
Button btn = new Button();//动态生成
btn.Text = "this is a test!";
btn.Click += new EventHandler(btn_Click);//此处委托一个点击事件
control.Controls.Add(btn);
}
protected void btn_Click(object sender, EventArgs e)
{
Page.Response.Write("<script type='text/javascript'>alert('hello world!');</script>");
}
为什么点击btn后,没有触发委托的事件呢?
含泪跪求您的指点迷津,谢谢!
回复:您好,出现这个问题应该是添加事件委托太迟引起的,您可以在控件Init事件事OnInit方法中添加事件委托。
2010/8/27 12:04:46 bam
我是来下载分页控件的 感谢UP主的无私奉献!
回复:谢谢支持!
2010/8/26 1:35:06 谢亚赛
//前台页面代码
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="pager"
FirstPageText="首页" LastPageText="尾页" NextPageText="下一页"
onpagechanged="AspNetPager1_PageChanged"
onpagechanging="AspNetPager1_PageChanging" PrevPageText="上一页"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页"
PageIndexBoxType="TextBox" ShowPageIndexBox="Never" UrlPaging="True"
EnableUrlRewriting="true">
</webdiyer:AspNetPager>
//在cs文件中加载
AspNetPager1.UrlRewritePattern = "~/ProductList/%Pcid%/{0}.html";
//配置文件也配置过了
<rewrite url="~/ProductList/%Pcid%/{0}.html" to="~/ProductList.aspx?Pcid=$1&Page=$2" />
运行页面后出现一下错误
----------------------------------------------------------------------------------------------
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /newweb/ProductList/2/2.html
回复:您好,asp.net框架引擎默认不会处理后缀是html的页面,您如果重写为html,那么需要配置IIS的处理程序映射中将后缀html的文件路径改为由asp.net框架引擎(aspnet_isapi.dll)来处理才行。谢谢!
2010/8/25 16:26:48 zhaozhao
我找到问题了,主要是:
超过了最大请求长度。
在web.config增加:
<system.web>
<!-- 增加上传文件限制为8M -->
<httpRuntime maxRequestLength="8192" useFullyQualifiedRedirectUrl="true" executionTimeout="100"/>
</system.web>
就不可以翻页了,速度稍微慢点而已。
请问,有什么办法不用修改这个属性呢?为什么回发的数据长度那么大呢?
回复:您好,看不到您的代码,我也不清楚您的问题,不过一般来说不包含文件数据的表单不可能回发那么大的数据,您需要多找找原因。谢谢!
2010/8/25 15:58:56 菜鸟
我用了你们的分页控件,现在想做成网址重写的分页,可是一有中文参数,比如: AspNetPager1.UrlRewritePattern = "Search-{0}.html?s=" + Server.UrlEncode(Request.QueryString["s"]);这样的,点下一页的时候Server.UrlEncode(Request.QueryString["s"])就不是刚才的了,怎么回事啊?
我的编码是"utf-8"
回复:您好,您的用法不对,正确的应该是:UrlRewritePattern = "Search-{0}.html?s=%s%",请看一下帮助中UrlRewritePattern的说明。谢谢!
