2007年11月12日 星期一 09:35
1.Server的命名空间
System.Web.HttpContext.Current.Server.MapPath("database/%29DB_Url_DataBase.mdb") //Response的命名空间 System.Web.HttpContext.Current.Response.Cookies.Add(hk); 2.asp.net连接MDB类 DbClass.cs中的代码: public static OleDbConnection DbConn() { String dbname=System.Web.HttpContext.Current.Server.MapPath("database/%29DB_Url_DataBase.mdb"); return new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+dbname); } 调用方法如下: OleDbConnection conn=DbClass.DbConn(); conn.Open(); 3.asp.net连接SQL类 DbClass.cs中的代码: public static SqlConnection DbConn() { return new SqlConnection("server=.;uid=sa;pwd=123;database=pubs;"); } 调用方法如下: SqlConnection conn=DbClass.DbConn(); conn.Open(); 4.<%# DataBinder.Eval(Container.DataItem,"Newscontent")%>的用法 DataBinder.Eval(Container.DataItem,"Newscontent","{0}") 等于 DataBinder.Eval(Container.DataItem,"Newscontent") DataBinder.Eval(Container.DataItem,"Newscontent","{0:d}") {0:d} 日期只显示年月日 {0:yyyy-mm-dd} 按格式显示年月日 {0:c} 货币样式 {0:G}代表显示True或False ((string)DataBinder.Eval(Container, "DataItem.P_SHIP_TIME_SBM8")).Substring(4,4) 5.Repeater分页代码 CS中的! OleDbConnection conn=DbClass.DbConn(); conn.Open(); string sql = "Select * from news"; OleDbCommand cmd=new OleDbCommand(sql,conn); OleDbDataAdapter ad = new OleDbDataAdapter(); ad.SelectCommand=cmd; DataSet ds=new DataSet(); ad.Fill(ds,"news"); PagedDataSource objPds = new PagedDataSource(); objPds.DataSource = ds.Tables[0].DefaultView; objPds.AllowPaging = true; objPds.PageSize = 5; int CurPage; if (Request.QueryString["Page"] != null) CurPage=Convert.ToInt32(Request.QueryString["Page"]); else CurPage=1; objPds.CurrentPageIndex = CurPage-1; lblCurrentPage.Text = "当前页:" + CurPage.ToString(); if (!objPds.IsFirstPage) lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1); if (!objPds.IsLastPage) lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1); Repeater1.DataSource=objPds; Repeater1.DataBind(); ASPX中的 <asp:label ID="lblCurrentPage" runat="server"></asp:label> <asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink> <asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink> 5.DataList如何在一行内显示多条记录 <asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 112px; POSITION: absolute; TOP: 128px" runat="server" RepeatColumns="3"> <ItemTemplate><%# DataBinder.Eval(Container.DataItem,"newstitle")%></ItemTemplate> </asp:DataList> 注添加 RepeatColumns="3" 就搞定,一行显示3个记录 6.PagedDataSource 类的部分公共属性: AllowCustomPaging 获取或设置指示是否启用自定义分页的值。 AllowPaging 获取或设置指示是否启用分页的值。 Count 获取要从数据源使用的项数。 CurrentPageIndex 获取或设置当前页的索引。 DataSource 获取或设置数据源。 DataSourceCount 获取数据源中的项数。 FirstIndexInPage 获取页中的第一个索引。 IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。 IsFirstPage 获取一个值,该值指示当前页是否是首页。 IsLastPage 获取一个值,该值指示当前页是否是最后一页。 IsPagingEnabled 获取一个值,该值指示是否启用分页。 IsReadOnly 获取一个值,该值指示数据源是否是只读的。 IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。 PageCount 获取显示数据源中的所有项所需要的总页数。 PageSize 获取或设置要在单页上显示的项数。 VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。 7.DataList的分页(与Repeater一样) CS中的! OleDbConnection conn=DbClass.DbConn(); conn.Open(); string sql="Select * from news"; OleDbCommand cmd=new OleDbCommand(sql,conn); OleDbDataAdapter ad=new OleDbDataAdapter(); ad.SelectCommand=cmd; DataSet ds=new DataSet(); ad.Fill(ds,"news"); //this.DataList1.DataSource=ds.Tables["news"].DefaultView; //this.DataList1.DataBind(); PagedDataSource objPds = new PagedDataSource(); objPds.DataSource = ds.Tables["news"].DefaultView; objPds.AllowPaging = true; objPds.PageSize = 15; int CurPage; if (Request.QueryString["Page"] != null) CurPage=Convert.ToInt32(Request.QueryString["Page"]); else CurPage=1; objPds.CurrentPageIndex = CurPage-1; lblCurrentPage.Text = "当前页:" + CurPage.ToString(); //Label1.Text = "当前页:" + objPds.PageCount.ToString(); if (!objPds.IsFirstPage) lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1); if (!objPds.IsLastPage) lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1); this.DataList1.DataSource=objPds; this.DataList1.DataBind(); ASPX中的 <asp:label ID="lblCurrentPage" runat="server"></asp:label> <asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink> <asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink> 8.小技巧---可以把功能写成private void然后调用 private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) { this.DataList_info(); } } private void DataList_info() { } 9.生成HttpCookie HttpCookie的命名空间是:System.Web; HttpCookie Cookies123 = new HttpCookie("newcookie"); Cookies123.Values["get_name"]="中国人民共和国"; Cookies123.Values["get_value"]="我的中国"; Response.Cookies.Add(Cookies123); 10.读出HttpCookie HttpCookie get_cookies = Request.Cookies["newcookie"]; Response.Write("get_name:" + get_cookies.Values["get_name"] + "<br>"); Response.Write("get_value" + get_cookies.Values["get_value"]); 11如何用DataReader验证用户 public static bool GetLogin(string uid,string pwd) { try { OleDbConnection conn=DbClass.DbConn(); conn.Open(); string sql="select * from UnionUser where username='"+uid+"'"; OleDbCommand cmd=new OleDbCommand(sql,conn); OleDbDataReader dr; dr=cmd.ExecuteReader(); if(dr.Read()) { string UserPassword; UserPassword = dr["userpassword"].ToString(); if(UserPassword==pwd) { //写入HttpCookie HttpCookie hk=new HttpCookie("newcookie"); System.Web.HttpContext.Current.Response.Cookies.Add(hk); Response.Cookies.Add(hk); return true; } else { return false; } } else { return false; } conn.Close(); } catch { return false; } } 12.获得控件内容 string uid=TextBox1.Text; string pwd=TextBox2.Text; uid=uid.ToString(); pwd=pwd.ToString(); uid=uid.Trim(); pwd=pwd.Trim(); 13.Repeater中如何隐藏列 在page_load外定义 public bool get123 在page_load中赋值 get123=true; <table Runat="server" Visible="<%#get123%>"> <tr> <td> <%#DataBinder.Eval(Container.DataItem,"newsid")%> </td> </tr> </table> 14.DropDownList OleDbConnection conn=DbOperate.DbConn(); conn.Open(); string sql="select * from newstype"; OleDbDataReader DR=DbOperate.Dr(conn,sql); this.DropDownList1.DataSource=DR; this.DropDownList1.DataTextField="NewsTypeName"; this.DropDownList1.DataValueField="NewsTypeID"; this.DropDownList1.DataBind(); 15. datalist平均分配columns RepeatDirection=Horizontal |