第一:使用数据源,如何才能更好的控制代码。我个人比较喜欢像asp  那样分页自己做,代码自己写,不用控件生成一大堆的代码,各位师傅能否提供那样的案例哦?
第二:使用了数据源后,自动会有隐藏的文本域,产生N多的。value="/wEPDwUKMTUyMjE3MzM3.....等。一直没有解决的问题,网路上也都讲解的都是控件,很少提到这方面的资源,本人也很笨,希望有详细的案例提供,谢谢了。感激不敬

解决方案 »

  1.   

    你用 repeat控件好了,html自已定义,控件本身并不会生成什么
      

  2.   

     1. enableviewstate=”false“2. 自定义分页using System; 
    using System.Data; 
    using System.Configuration; 
    using System.Collections; 
    using System.Web; 
    using System.Web.Security; 
    using System.Web.UI; 
    using System.Web.UI.WebControls; 
    using System.Web.UI.WebControls.WebParts; 
    using System.Web.UI.HtmlControls; 
    using System.Data.SqlClient; public partial class gonggao : System.Web.UI.UserControl 

    protected void Page_Load(object sender, EventArgs e) 

    if (!IsPostBack) 

    this.labPage.Text = "1"; 
    this.contrlRepeater(); 


    //获取指字符个数的字符 
    public string cuts(string aa,int bb) 

    if (aa.Length <= bb) { return aa; } 
    else { return aa.Substring(0, bb); } 

    //Repeater分页控制显示方法 
    public void contrlRepeater() 

    pb pb1 = new pb(); 
    DataSet ss = new DataSet(); 
    ss = pb1.returnDs("select top 200 [标题],[时间] from news"); 
    PagedDataSource pds = new PagedDataSource(); 
    pds.DataSource = ss.Tables["temptable"].DefaultView; 
    pds.AllowPaging = true; 
    pds.PageSize = 2; 
    pds.CurrentPageIndex = Convert.ToInt32(this.labPage.Text) - 1; 
    Repeater1.DataSource = pds; 
    LabCountPage.Text = pds.PageCount.ToString(); 
    labPage.Text = (pds.CurrentPageIndex + 1).ToString(); 
    this.lbtnpritPage.Enabled = true; 
    this.lbtnFirstPage.Enabled = true; 
    this.lbtnNextPage.Enabled = true; 
    this.lbtnDownPage.Enabled = true; 
    if(pds.CurrentPageIndex<1) 

    this.lbtnpritPage.Enabled = false; 
    this.lbtnFirstPage.Enabled = false; 

    if (pds.CurrentPageIndex == pds.PageCount-1) 

    this.lbtnNextPage.Enabled = false; 
    this.lbtnDownPage.Enabled = false; 

    Repeater1.DataBind(); 

    protected void lbtnpritPage_Click(object sender, EventArgs e) 

    this.labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) - 1); 
    this.contrlRepeater(); 

    protected void lbtnFirstPage_Click(object sender, EventArgs e) 

    this.labPage.Text = "1"; 
    this.contrlRepeater(); 

    protected void lbtnDownPage_Click(object sender, EventArgs e) 

    this.labPage.Text =this.LabCountPage.Text; 
    this.contrlRepeater(); 
    } protected void lbtnNextPage_Click(object sender, EventArgs e) 

    this.labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) + 1); 
    this.contrlRepeater(); 


    aspx文件: 
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="gonggao.ascx.cs" Inherits="gonggao" %> 
    <table> 
    <asp:Repeater ID="Repeater1" runat="server"> 
    <ItemTemplate> 
    <tr><td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[标题]").ToString(),8)%></a></td> 
    <td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[时间]").ToString(),5)%></a></td></tr> 
    </ItemTemplate> 
    </asp:Repeater> 
    </table> 
    <table border="1"><tr><td align="center"> 
    <asp:LinkButton ID="lbtnFirstPage" runat="server" OnClick="lbtnFirstPage_Click">页首</asp:LinkButton> 
    <asp:LinkButton ID="lbtnpritPage" runat="server" OnClick="lbtnpritPage_Click">上一页</asp:LinkButton> 
    <asp:LinkButton ID="lbtnNextPage" runat="server" OnClick="lbtnNextPage_Click">下一页</asp:LinkButton> 
    <asp:LinkButton ID="lbtnDownPage" runat="server" OnClick="lbtnDownPage_Click">页尾</asp:LinkButton><br /> 
    第<asp:Label ID="labPage" runat="server" Text="Label"></asp:Label>页/共<asp:Label ID="LabCountPage" runat="server" Text="Label"></asp:Label>页 跳至<asp:DropDownList 
    ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
    </td></tr> 
    </table> 
      

  3.   

    datalist控件也可以,实际用数据源+控件生成的代码现在很可控,girdview除外那些隐藏的是viewstate,难说是好还是不好,看你所好,如果用数据源的话把它禁掉就会分页错误你既然那么喜欢asp风格,完全可以repeater或者datalist+自己写的分页数据方法,也可以放心的禁掉viewstate
      

  4.   

    使用asp.net类似于jsp的小脚本就可以
      

  5.   

    自定义分页3楼上正解至于你说的第二点,.net中都会生成很多的当然你也可以不用啊,你可以用JS操作啊绑定数据源操作数据源都可以用JS的啊,不用控件就好了嘛你觉得呢??