首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp:Repeater 为何不显示数据?该如何解决

2012-06-15 
asp:Repeater 为何不显示数据?初学asp.net在51aspx下了一个开源的项目打算边修改边学在后台那里模仿登陆和

asp:Repeater 为何不显示数据?
初学asp.net
在51aspx下了一个开源的项目打算边修改边学
在后台那里模仿登陆和修改用户密码功能都成功
但是在查询用户列表的时候用的asp:Repeater就不显示数据了,项目自己的列表就能出来,我模仿的后台用户列表就出不来了,后台代码那里SQL语句是没有问题的,在数据库里能查出数据。但是asp:Repeater里面我查看源代码却只有input,不见循环出来的表格

aspx文件

HTML code
<form id="form1" runat="server">        <div>            <asp:Repeater ID="rptList" runat="server">            <HeaderTemplate>          <table width="98%"  border="0" cellspacing="0" cellpadding="0">            <tr>              <td height="31" background="../images/d2.jpg"><table width="100%"  border="0" cellpadding="5" cellspacing="0">                <tr>                  <td width="5%"><div align="center"><STRONG>序号</STRONG></div></td>                  <td width="18%"><div align="center"><STRONG>权限</STRONG></div></td>                  <td width="41%"><div align="center"><STRONG>用户名</STRONG></div></td>                  <td width="38%"><div align="center"><STRONG>操作</STRONG></div></td>                </tr>              </table></td>            </tr>            </HeaderTemplate>            <ItemTemplate>            <tr>              <td>              <table width="100%"  border="0" cellpadding="0" cellspacing="0" background="images/x1.jpg">            <tr onmouseover="this.bgColor='#D6DD2F'" onmouseout="this.bgColor='#FFFFFF'">            <!--            <tr bgcolor="#F3F7FA" onmouseover="this.bgColor='#D6DD2F'" onmouseout="this.bgColor='#F3F7FA'">            -->                <td><table width="100%"  border="0" cellpadding="0" cellspacing="0">                              <tr>                  <td width="5%" height="38" class="p12d2"><asp:Label ID="lb_id" runat="server" Text='<%# Eval("Id")%>' Visible="False"></asp:Label></td>                  <td width="18%"><%# Eval("UserType").ToString().Trim() == "1" ? "<span>超级管理员</span>" : "<span>普通管理员</span>"%>                  </td>                  <td width="41%"><%# Eval("UserName")%></td>                  <td width="38%"><table width="70%"  border="0" align="right" cellpadding="0" cellspacing="0">                    <tr>                      <td width="10%"><img src="../images/g2.jpg" width="14" height="16"></td>                      <td width="40%"><span><a href="user_updateform.aspx?id=<%# Eval("Id") %>">修改</a></span></td>                      <td width="10%"><img src="../images/g3.jpg" width="13" height="13"></td>                      <td width="40%"><span><a href="user_updateform.aspx?id=<%# Eval("Id") %>">删除</a></span></td>                    </tr>                  </table></td>                </tr>                <tr bgcolor="#FFFFFF">                  <td colspan="6" bgcolor="#D5E0F2" class="p12d2"><img src="../images/x1x1.jpg" width="26" height="1"></td>                </tr>                </table></td>            </tr>            </table>                        </td>          </tr>          </ItemTemplate>            <FooterTemplate>            </table>            </FooterTemplate>        </asp:Repeater>        </div>            <div class="spClear"></div>            <div style="line-height:30px;height:30px;">            <div class="right flickr">                 <webdiyer:aspnetpager ID="AspNetPager1" runat="server" CssClass="formfield"             CustomInfoClass="formbutton"             CustomInfoHTML="第&lt;font color='red'&gt;&lt;b&gt;%CurrentPageIndex%&lt;/b&gt;&lt;/font&gt;页 共%PageCount%&nbsp;页 %StartRecordIndex%-%EndRecordIndex%"             CustomInfoTextAlign="Center" FirstPageText="首页" horizontalalign="Center"             InputBoxStyle="width:19px" LastPageText="尾页" meta:resourceKey="AspNetPager1"             NextPageText="下一页" PageSize="9"             PrevPageText="前一页" showcustominfosection="Left" ShowInputBox="Always"             ShowNavigationToolTip="True" style="FONT-SIZE: 12px"             SubmitButtonClass="formfield" SubmitButtonText="GO" width="506px"             onpagechanging="AspNetPager1_PageChanging" PageIndexBoxType="TextBox"                     ShowPageIndexBox="Never" AlwaysShow="True">        </webdiyer:aspnetpager>             </div>              <div class="left">                <span class="btn_all" onclick="checkAll(this);">全选</span>                <span class="btn_bg">                  <asp:LinkButton ID="lbtnDel" runat="server" onclick="lbtnDel_Click" OnClientClick="return confirm( '确定要删除这些记录吗? ');">批量删除</asp:LinkButton>                  </span>            </div>      </div>    </div>    <div>        <ext:ScriptManager ID="ScriptManager1" runat="server">        </ext:ScriptManager>    </div>    </form> 



cs文件
C# code
        public int pcount = 0;        protected void Page_Load(object sender, EventArgs e)        {            if(!Page.IsPostBack){                RptBind("");            }        }        #region 数据绑定        public void RptBind(string strWhere)        {            Cms.BLL.maintain bll = new Cms.BLL.maintain();            DataSet ds = bll.GetList(strWhere);            DataView dv = ds.Tables[0].DefaultView;            //利用PAGEDDAGASOURCE类来分页            PagedDataSource pds = new PagedDataSource();            AspNetPager1.RecordCount = dv.Count;            pds.DataSource = dv;            pds.AllowPaging = true;            pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;            pds.PageSize = AspNetPager1.PageSize;            //获得总条数            pcount = bll.GetCount(strWhere);            if (this.pcount > 0)            {                this.lbtnDel.Enabled = true;            }            else            {                this.lbtnDel.Enabled = false;            }            //绑定数据            rptList.DataSource = pds;            rptList.DataBind();        }        #endregion        #region 批量删除        protected void lbtnDel_Click(object sender, EventArgs e)        {            Cms.BLL.maintain bll = new BLL.maintain();            //批量删除            for (int i = 0; i < rptList.Items.Count; i++)            {                int id = Convert.ToInt32(((Label)rptList.Items[i].FindControl("lb_id")).Text);                CheckBox cb = (CheckBox)rptList.Items[i].FindControl("cb_id");                if (cb.Checked)                {                    //保存日志                    SaveLogs("[链接管理]删除链接:" + bll.GetModel(id).UserName);                    //删除记录                    bll.Delete(id);                }            }            Coolite.Ext.Web.Ext.MessageBox.Alert("提示", "批量删除成功").Show();            RptBind("");        }        #endregion        protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)        {            AspNetPager1.CurrentPageIndex = e.NewPageIndex;            RptBind("");        }




我想问是不是这样写的话必须先建表视图啊?还是说我必须引入哪个js?

[解决办法]
调试进去试试不就知道了!
[解决办法]
DataView dv = ds.Tables[0].DefaultView;
前面打断点。
确定dv里面确实有数据吗?
[解决办法]
断点进bll.GetList(strWhere)里面的方法,最好进最后一层数据访问层,看有没有数据,或者
取得那个sql语句放进sqlserver里面去执行以下 会不会有数据
[解决办法]
这种情况你只能设断点一步一步调试了
[解决办法]
压根就没进你后台的代码里!咋会绑定呢!你看看 触发事件进没进吧!

热点排行