百分求助大神!!!AspNetPager控件分页,点击下一页和尾页出现javascript错误,JavaScript 运行时错误

x_aini 2015-11-02 03:35:20
AspNetPager分页的时候,把数据绑定到ReaPeter上能够看到一共几页每页显示几条数据,说明已经分出了页。但是在点击下一页和尾页的时候就出现javascript运行错误,无法设置未定义或 null 引用的属性“value”。很郁闷!!!先谢谢各位大神帮助!!!!!!!!!!!

相关代码如下:
前台页:已经引入AspNetPager.dll

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ximapiclist.aspx.cs" Inherits="Web.ximapiclist" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

<ul>
<asp:Repeater ID="repnew" runat="server" >
<ItemTemplate>
<li>
<img src=" <%#Eval("img_url").ToString() == "" ? "admin/skin/default/loadimg.gif" : Eval("img_url").ToString()%>">
<div class="desc">
<div class="d-price"><i class="view"></i>view</div>
<div class="d-name"><%# DataBinder.Eval(Container,"DataItem.zhaiyao").ToString().Length>12?DataBinder.Eval(Container,"DataItem.zhaiyao").ToString().Substring(0,12)+"...":DataBinder.Eval(Container,"DataItem.zhaiyao").ToString()%></div>
</div>
<br>
<a href="news_info.aspx?fid=<%#Eval("category_id")%>&id=<%#Eval("id")%>" title="<%#Eval("Title")%>" target="_blank">
<div class="d-shadow">
<p class="d-s-1"><%# DataBinder.Eval(Container,"DataItem.Title").ToString().Length>12?DataBinder.Eval(Container,"DataItem.Title").ToString().Substring(0,12)+"...":DataBinder.Eval(Container,"DataItem.Title").ToString()%></p>

<span><i class="view"></i>view</span>
</div>
</a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>



CS文件:

//绑定列表数据
private void Bind()
{
int id;
if (int.TryParse(Request.QueryString["id"], out id))
{
BLL.article bll = new BLL.article();
DataView dv = bll.GetList(10000, "status=0 and category_id in(select id from ax_article_category where class_list like '%," + id + ",%')", "is_top desc,sort_id asc, add_time desc").Tables[0].DefaultView;
PagedDataSource pds = new PagedDataSource();
AspNetPager1.RecordCount = dv.Count;
pds.DataSource = dv;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
repnew.DataSource = pds;
repnew.DataBind();
}
}

// 分页
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
Bind();
}


BLL层:

/// <summary>
/// 获得前几行数据
/// </summary>
public DataSet GetList(int Top, string strWhere, string filedOrder)
{
return dal.GetList(Top, strWhere, filedOrder);
}


DAL层

/// <summary>
/// 获得前几行数据
/// </summary>
public DataSet GetList(int Top, string strWhere, string filedOrder)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select ");
if (Top > 0)
{
strSql.Append(" top " + Top.ToString());
}
strSql.Append(" id,channel_id,category_id,call_index,title,link_url,img_url,seo_title,seo_keywords,seo_description,zhaiyao,content,sort_id,click,status,groupids_view,vote_id,is_top,is_red,is_hot,is_slide,is_sys,is_msg,user_name,add_time,update_time ");
strSql.Append(" FROM ax_article ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" order by " + filedOrder);
return DbHelperSQL.Query(strSql.ToString());
}
...全文
166 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好了作者已经出现了。
x_aini 2015-11-02
  • 打赏
  • 举报
回复
引用 6 楼 webdiyer 的回复:
这个问题其实和AspNetPager本身没有关系,AspNetPager生成postback的分页代码用的是ASP.NET的内置方法,如果AspNetPager有这样的问题,那么其它回发控件都应该一样,不知道你用的是官方下载的还是别人修改的?另外你也没有说明你用什么浏览器,什么版本的.net框架,.Net 2.0和4.0有个不能判断IE10浏览器的bug,该bug会导致在IE10中打开需要回发的asp.net页面时,asp.net没有注册__doPostBack函数,导致无法回发,解决这个问题需要打补丁,详情看这篇博客文章:http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
您能帮我看一下不,在别人的代码里好好的,我原封不动的把代码用过来,就出现错误。。。
x_aini 2015-11-02
  • 打赏
  • 举报
回复
引用 6 楼 webdiyer 的回复:
这个问题其实和AspNetPager本身没有关系,AspNetPager生成postback的分页代码用的是ASP.NET的内置方法,如果AspNetPager有这样的问题,那么其它回发控件都应该一样,不知道你用的是官方下载的还是别人修改的?另外你也没有说明你用什么浏览器,什么版本的.net框架,.Net 2.0和4.0有个不能判断IE10浏览器的bug,该bug会导致在IE10中打开需要回发的asp.net页面时,asp.net没有注册__doPostBack函数,导致无法回发,解决这个问题需要打补丁,详情看这篇博客文章:http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
.net4版本的,浏览器我用谷歌IE都测试过。ASPNetPager是别人项目源码里的。不知道是不是改动过。感谢您的回答,我先看看您给的连接,谢谢。
webdiyer 2015-11-02
  • 打赏
  • 举报
回复
这个问题其实和AspNetPager本身没有关系,AspNetPager生成postback的分页代码用的是ASP.NET的内置方法,如果AspNetPager有这样的问题,那么其它回发控件都应该一样,不知道你用的是官方下载的还是别人修改的?另外你也没有说明你用什么浏览器,什么版本的.net框架,.Net 2.0和4.0有个不能判断IE10浏览器的bug,该bug会导致在IE10中打开需要回发的asp.net页面时,asp.net没有注册__doPostBack函数,导致无法回发,解决这个问题需要打补丁,详情看这篇博客文章:http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
x_aini 2015-11-02
  • 打赏
  • 举报
回复
看来是再没有人回答了,唉,我怎么连分页都不会啊。哪位高手能够给我说说我怎么才能给ReaPeter控件分页呢?
x_aini 2015-11-02
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
控件namespace点后面的单词就是作者在这个论坛的id,你可以@他
好吧。。。。。。。急啊,估计等不了作者回答了。。。。。。
  • 打赏
  • 举报
回复
控件namespace点后面的单词就是作者在这个论坛的id,你可以@他
  • 打赏
  • 举报
回复
看你通票分页用的是pds,还是让作者来回答你吧
x_aini 2015-11-02
  • 打赏
  • 举报
回复
在百度上看到一个和我问题很相似的回答。因为我的代码调试中就出现那样的问题,但由于比较菜,看不太懂。 百度上的一篇回答是这样的: __doPostBack可以实现客户端控件调用服务器端控件的响应, __doPostBack方法的格式为: __doPostBack(eventTarget,eventArgument)   参数:  eventTarget:是要触发的服务器控件的客户端ID         eventArgument:参数 这个两个值在后台可以通过下边方法得到: Request["__EVENTTARGET"] :获取得到引发页面PostBack的控件ID Request["__EVENTARGUMENT"]: 获取参数。 在VS调试里出现的代码和上面说的一样:

<div>

	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="6059E73B" />
	<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
	<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form2'];
if (!theForm) {
    theForm = document.form2;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
       theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>
就是在代码中蓝色部分出错,给出的报错是:JavaScript 运行时错误: 无法设置未定义或 null 引用的属性“value”

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧