work029webform1.aspx
  •  
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work029.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <div> 用户名:<%= userName %><br /> 博客地址:<%= blogURL %><br /> 当前时间:<%= GetDateTime() %> <!--以上绑定方式,可以省略去Page.DataBind()方法--> </div> </form></body></html>
webform1.aspx.cs
  •  
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
namespace work029{ public partial class WebForm1 : System.Web.UI.Page { protected string userName = "虾米大王";
public string blogURL = "";
protected void Page_Load(object sender, EventArgs e){ }
public string GetDateTime(){ return DateTime.Now.ToString("yyyy-MM-dd"); } }}
work030webform1.aspx
  •  
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work030.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnPageIndexChanging="GridView1_PageIndexChanging" Width="100%"> <Columns> <asp:BoundField DataField="user_id" HeaderText="user_id"></asp:BoundField> <asp:BoundField DataField="user_name" HeaderText="user_name"></asp:BoundField> <asp:BoundField DataField="real_name" HeaderText="real_name"></asp:BoundField> <asp:BoundField DataField="age" HeaderText="age"></asp:BoundField> <asp:CheckBoxField DataField="sex" HeaderText="sex"></asp:CheckBoxField> <asp:BoundField DataField="mobile" HeaderText="mobile"></asp:BoundField> <asp:TemplateField HeaderText="Email"> <AlternatingItemTemplate> <a href='emailto:<%# Eval("email") %>'>发邮件给<%# Eval("real_name") %></a> </AlternatingItemTemplate> <ItemTemplate> <%# Eval("email") %> </ItemTemplate> </asp:TemplateField> <asp:HyperLinkField DataNavigateUrlFields="user_id" DataNavigateUrlFormatString="Details.aspx?id={0}" DataTextField="real_name" HeaderText="查看"></asp:HyperLinkField> </Columns> <EmptyDataTemplate> 提示:没有任何数据可以显示 </EmptyDataTemplate> </asp:GridView> </div> </form></body></html>
webfrom1.aspx.cs
  •  
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
namespace work030{ public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { BindGridView(0); } }
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){ BindGridView(e.NewPageIndex); }
private void BindGridView(int pageIndex){ System.Data.SqlClient.SqlConnectionStringBuilder bu = new System.Data.SqlClient.SqlConnectionStringBuilder(); bu.DataSource = "(local)"; bu.InitialCatalog = "test"; bu.UserID = "sa"; bu.Password = "123456";
string conString = bu.ConnectionString; System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(conString); con.Open();
string sql = "select * from userinfo"; //string sql = "select * from userinfo where user_id > 1000"; //使用此句,是为了配合显示EmptyDataTemplate System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(sql, con); System.Data.DataTable dt = new System.Data.DataTable(); adapter.Fill(dt);
GridView1.AllowPaging = true; GridView1.AutoGenerateColumns = false; GridView1.PageSize = 4;
GridView1.DataSource = dt; GridView1.PageIndex = pageIndex; GridView1.DataBind(); }

}}
details.aspx
  •  
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Details.aspx.cs" Inherits="work030.Details" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <div> <table border="1" style="width:50%;"> <tr> <td>user_id</td> <td><%= dt.Rows[0]["user_id"].ToString() %></td> </tr> <tr> <td>user_name</td> <td><%= dt.Rows[0]["user_name"].ToString() %></td> </tr> <tr> <td>real_name</td> <td><%= dt.Rows[0]["real_name"].ToString() %></td> </tr> <tr> <td>age</td> <td><%= dt.Rows[0]["age"].ToString() %></td> </tr> <tr> <td>sex</td> <td><%= dt.Rows[0]["sex"].ToString() %></td> </tr> <tr> <td>mobile</td> <td><%= dt.Rows[0]["mobile"].ToString() %></td> </tr> <tr> <td>phone</td> <td><%= dt.Rows[0]["phone"].ToString() %></td> </tr> <tr> <td>email</td> <td><%= dt.Rows[0]["email"].ToString() %></td> </tr> </table> </div> </form></body></html>
details.aspx.cs
  •  
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;
namespace work030{ public partial class Details : System.Web.UI.Page { protected System.Data.DataTable dt;
protected void Page_Load(object sender, EventArgs e){ if(Request.QueryString["id"] != null) { string user_id = Request.QueryString["id"].ToString(); dt = new System.Data.DataTable(); dt = GetData(user_id); } }
private System.Data.DataTable GetData(string id){ System.Data.SqlClient.SqlConnectionStringBuilder bu = new System.Data.SqlClient.SqlConnectionStringBuilder(); bu.DataSource = "(local)"; bu.InitialCatalog = "test"; bu.UserID = "sa"; bu.Password = "123456";
string conString = bu.ConnectionString; System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(conString); string sql = string.Format("select * from userinfo where user_id='{0}'",id); System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(sql, con);
System.Data.DataTable dt = new System.Data.DataTable(); adapter.Fill(dt);
return dt; } }}
sql
  •  
create database test;
create table UserInfo( user_id int identity(1,1) not null, user_name varchar(20) not null unique, real_name nvarchar(8) not null, age tinyint not null, sex bit not null, mobile varchar(14), phone varchar(14), email varchar(50) not null, primary key(user_id) );
insert into UserInfo values('zhangfei','张飞',36,1,'13011110001','8845996','zf@qq.com');insert into UserInfo values('guanyu','关羽',38,1,'13011110002','8845995','gy@qq.com');insert into UserInfo values('liubei','刘备',42,1,'13011110003','8845994','lb@qq.com');insert into UserInfo values('zhaoyun','赵云',32,1,'13011110004','8845993','zy@qq.com');insert into UserInfo values('huangzhong','黄忠',50,1,'13011110005','8845992','hz@qq.com');insert into UserInfo values('caocao','曹操',48,1,'13011110006','8845991','cc@qq.com');insert into UserInfo values('sunquan','孙权',33,1,'13011110007','8845990','sq@qq.com');insert into UserInfo values('diaochan','貂蝉',20,0,'13011110008','8845880','dc@qq.com');insert into UserInfo values('daqiao','大乔',21,0,'13011110009','8845881','dq@qq.com');insert into UserInfo values('xiaoqiao','小乔',20,0,'13011110010','8845882','xq@qq.com');