1. 2.跳轉的另一個頁面 3.Get傳值:跳轉頁面.cs頁面 4. 跳轉頁面前端頁面 效果顯示: ...
1.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="_20160520.Home" %> <!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> <link href="css/gv.css" rel="stylesheet" /> </head> <body> <form id="form1" runat="server"> <div class="gv"> <table> <tr> <td>用戶名:</td> <td> <asp:TextBox ID="TxtUserName" runat="server" Width="132px"></asp:TextBox> </td> <td>班級:</td> <td> <asp:DropDownList ID="ddlsclass" runat="server"> <asp:ListItem>---請選擇---</asp:ListItem> <asp:ListItem>微軟一班</asp:ListItem> <asp:ListItem>微軟二班</asp:ListItem> <asp:ListItem>微軟三班</asp:ListItem> </asp:DropDownList> </td> <td> <asp:Button ID="btnsel" runat="server" Text="查詢" OnClick="btnsel_Click" /> </td> </tr> </table> <table> <tr> <td>用戶名:</td> <td> <asp:TextBox ID="TxtUsersName" runat="server"></asp:TextBox> </td> </tr> <tr> <td>密碼:</td> <td> <asp:TextBox ID="TxtPwd" runat="server"></asp:TextBox> </td> </tr> <tr> <td>姓名:</td> <td> <asp:TextBox ID="Txtloginname" runat="server"></asp:TextBox> </td> </tr> <tr> <td>QQ:</td> <td> <asp:TextBox ID="Txtqq" runat="server"></asp:TextBox> </td> </tr> <tr> <td>班級:</td> <td> <asp:DropDownList ID="ddlclass" runat="server"> <asp:ListItem>---請選擇---</asp:ListItem> <asp:ListItem>微軟一班</asp:ListItem> <asp:ListItem>微軟二班</asp:ListItem> <asp:ListItem>微軟三班</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td colspan="2" style="text-align: right"> <asp:Button ID="BtnAdd" runat="server" Text="添加" OnClick="BtnAdd_Click"/> </td> </tr> </table> <table> <tr> <td>ID:</td> <td> <asp:TextBox ID="TxtDuserid" runat="server"></asp:TextBox> </td> <td> <asp:Button ID="BtnDel" runat="server" Text="刪除" OnClick="BtnDel_Click" /> </td> </tr> </table> <table> <tr> <td> ID</td> <td> <asp:TextBox ID="TxtuUserId" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 用戶名:</td> <td> <asp:TextBox ID="TxtuUserName" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="2" style="text-align: right"> <asp:Button ID="BtnUpdate" runat="server" Text="更新" OnClick="Button1_Click" /> </td> </tr> </table> <asp:GridView ID="IdGridView" runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="id" HeaderText="ID" /> <asp:BoundField DataField="username" HeaderText="用戶名" /> <asp:BoundField DataField="PWD" HeaderText="密碼" /> <asp:BoundField DataField="loginname" HeaderText="姓名" /> <asp:BoundField DataField="qq" HeaderText="QQ" /> <asp:BoundField DataField="classname" HeaderText="班級" /> <asp:TemplateField HeaderText="詳情"> <ItemTemplate> <a href="UserInfo.aspx?id=<%#Eval("ID") %>" target="_blank">詳情</a> <%--<a href='UserInfo.aspx?userid=<%#Eval("UserId") %>' target="_blank">詳情</a <%-- <a href="one.aspx?">詳情</a>--%> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </form> </body> </html>
2.跳轉的另一個頁面
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using System.Data.SqlClient; using System.Text; namespace _20160520 { public partial class Home : System.Web.UI.Page { //假如頁面多,每個頁面都要寫一個連接字元串,所以我們一般放在配置文件中 //string strstring = "server=.; Database=MyBookShop;Integrated Security=false;Uid=sa;Pwd=123456"; // string connStr = "Database=Student;Server=.;Integrated Security=false;Uid=sa;Password=123;"; //通過這個類ConfigurationManager獲取web.confiig裡面的節點名稱來獲取連接的字元串 private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString(); //把這個字元串傳進去 //SqlConnection con = new SqlConnection(conStr); SqlConnection con = null;//相當於是電話 SqlCommand cmd = null;//執行sql語句 SqlDataReader dr = null;//用於儲存查詢結果 private void openDB() { con = new SqlConnection(conStr); con.Open();//和資料庫建立起了連接 //我們單獨把這兩句話封裝起來直接調用就好 } //頁面一運行就執行這裡面的內容 protected void Page_Load(object sender, EventArgs e) { BindUser(); } public void BindUser() { try { openDB(); //得到sql語句 //string sql = "select loginid,name,loginpwd,address,ClassName,mail from Users"; string sql = Getswhere(); //執行sql語句 using (cmd = new SqlCommand(sql, con)) //對象有了,我們要通過對象去執行sql語句 { using (dr = cmd.ExecuteReader()) { IdGridView.DataSource = dr; IdGridView.DataBind(); } //dr.Dispose();//釋放資源 //dr.Close();//關閉連接 //con.Dispose(); //con.Close(); } } catch { Response.Write("網站正在維護中.......!"); } } protected void btnsel_Click(object sender, EventArgs e) { } //我們需要得到where後面 public string Getswhere() { StringBuilder sb = new StringBuilder(); sb.Append("select ID,username,PWD,loginname,qq,classname from Users where 1=1"); //獲取到它的用戶名 string username = TxtUserName.Text.Trim(); if (!string.IsNullOrEmpty(username)) { sb.Append(string.Format("and username='{0}'", username)); } if(ddlsclass.SelectedIndex>0) { sb.Append(string.Format("and ClassName='{0}'", ddlsclass.SelectedValue)); } return sb.ToString(); } //添加 protected void BtnAdd_Click(object sender, EventArgs e) { try { //要獲取到文本框裡面的內容 string username = TxtUsersName.Text.Trim(); string pwd = TxtPwd.Text.Trim(); string loginname = Txtloginname.Text.Trim(); string qq = Txtqq.Text.Trim(); //ddlclass.SelectedIndex > 0 ? ddlclass.SelectedValue "" : ;判斷它是否被選中,如果選中>0,就等於選中的內容,如果沒有被選中的話,就為空 string classname = ddlclass.SelectedIndex > 0 ? ddlclass.SelectedValue: ""; //寫sql語句 string sql = string.Format("insert Users (username,PWD,loginname,qq,classname) values ('{0}','{1}','{2}','{3}','{4}')", username, pwd, loginname, qq, classname); //sql語句有了之後怎麼做添加呢? //第一步和資料庫建立起連接 openDB(); //連接建立起來之後,我們創建一個sqlcommand對象 using (cmd = new SqlCommand(sql, con)) { //這時候我們怎麼通過對象去執行它的插入呢?ExecuteNonQuery執行增刪改查語句,返回的是int類型 cmd.ExecuteNonQuery(); } //直接綁定 BindUser(); } catch { Response.Write("網站正在維護中.......!"); } } //刪除 protected void BtnDel_Click(object sender, EventArgs e) { int userid = 0;//userid預設等於0 //有可能輸入的不是整數,不是整數的話,輸入之後它有可能發生異常 try { //TxtDuserid.Text.Trim()==""?,如果它的內容等於空的話,我們就讓它等於0(?0),不為空的話,我們就Convert(將一個數據類型轉為另一個基本數據類型)一下 userid = TxtDuserid.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtDuserid.Text.Trim()); } catch { userid = 0; } //id就得到了,判斷資料庫裡面有沒有 string s1 = string.Format("select ID from users where ID={0}", userid); //和資料庫建立起連接 openDB(); using (cmd = new SqlCommand(s1, con)) { dr = cmd.ExecuteReader(); //查詢有沒有數據 if (dr.HasRows) { //如果有,就執行刪除語句,得到一個s2 string s2 = string.Format("delete Users where ID={0}",userid); dr.Dispose(); dr.Close(); using(cmd = new SqlCommand(s2, con)) { cmd.ExecuteNonQuery(); } } else { //沒有就 Response.Write("該用戶ID不存在!"); } } BindUser(); } //更新 protected void Button1_Click(object sender, EventArgs e) { int userid = 0;//userid預設等於0 //有可能輸入的不是整數,不是整數的話,輸入之後它有可能發生異常 try { //TxtDuserid.Text.Trim()==""?,如果它的內容等於空的話,我們就讓它等於0(?0),不為空的話,我們就Convert(將一個數據類型轉為另一個基本數據類型)一下 userid = TxtuUserId.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtuUserId.Text.Trim()); } catch { userid = 0; } //id就得到了,判斷資料庫裡面有沒有 string s1 = string.Format("select ID from users where ID={0}", userid); //和資料庫建立起連接 openDB(); using (cmd = new SqlCommand(s1, con)) { dr = cmd.ExecuteReader(); //查詢有沒有數據 if (dr.HasRows) { //如果有,就執行刪除語句,得到一個s2 string s2 = string.Format("update Users set username='{0}' where ID={1}", TxtuUserName.Text.Trim(),userid); dr.Dispose(); dr.Close(); using (cmd = new SqlCommand(s2, con)) { cmd.ExecuteNonQuery(); } } else { //沒有就 Response.Write("該用戶ID不存在!"); } } BindUser(); } } }
3.Get傳值:跳轉頁面.cs頁面
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.Configuration; using System.Data.SqlClient; namespace _20160520 { public partial class UserInfo : System.Web.UI.Page { private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString(); //把這個字元串傳進去 //SqlConnection con = new SqlConnection(conStr); SqlConnection con = null;//相當於是電話 SqlCommand cmd = null;//執行sql語句 SqlDataReader dr = null;//用於儲存查詢結果 private void openDB() { con = new SqlConnection(conStr); con.Open();//和資料庫建立起了連接 //我們單獨把這兩句話封裝起來直接調用就好 } //private int _id = 0; //public int id //{ // get // { // //return _userId; // //傳過來的id有可能為空,也有可能不是整數 // //它也有可能不是整數,我們就寫一個異常 // try // { // //判斷它是否為空?get的作用是屬性,屬性是判斷它的讀和寫,Request.QueryString["ID"]里的id要與Eval("ID")的一致 // //==nul等於空,就讓它等於0,不等於空, // _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString()); // } // catch // { // _id = 0; // } // return _id;//這樣就得到了傳過來的id // } // set { _id = value; } //} private int _id = 0; public int Id { get { try { _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString()); } catch { _id = 0; } return _id; } set { _id = value; } } protected void Page_Load(object sender, EventArgs e) { } //這樣就得到了傳過來的id,拼湊出來的字元串顯示在前端,更多使用這個GridView只能顯示表格的形式 public string GetUserInfor() { //拼湊字元串需要引用命名空間using System.Text; StringBuilder sb = new StringBuilder(); //先得到內容 //判斷一下id是否>0,>0我們在拼湊 if (Id > 0) { sb.Append(@"<div class=""da"">"); sb.Append("<table>"); openDB(); string sql = string.Format("select * from users where ID={0}",Id); using (cmd = new SqlCommand(sql, con)) { using (dr = cmd.ExecuteReader()) { //dr = cmd.ExecuteReader(); //對這裡面的內容進行讀數據,讀數據就要進行拼湊字元串 if (dr.Read()) { //數據裡面的用戶名怎麼獲取到? sb.Append(string.Format("<tr><td>用戶名:</td><td>{0}</td></tr>", dr["userName"].ToString())); sb.Append(string.Format("<tr><td>密碼:</td><td>{0}</td></tr>", dr["PWD"].ToString())); sb.Append(string.Format("<tr><td>姓名:</td><td>{0}</td></tr>", dr["loginname"].ToString())); sb.Append(string.Format("<tr><td>QQ:</td><td>{0}</td></tr>", dr["qq"].ToString())); sb.Append(string.Format("<tr><td>班級:</td><td>{0}</td></tr>", dr["classname"].ToString())); sb.Append(string.Format("<tr><td>信息:</td><td>{0}</td></tr>", dr["information"].ToString())); } } } sb.Append("</table>"); sb.Append("</div>"); } return sb.ToString(); } } }
4. 跳轉頁面前端頁面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.aspx.cs" Inherits="_20160520.UserInfo" %> <!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> <%--後臺有個字元串怎麼顯示在前端?前端怎麼調用後臺頁面--%> <%=GetUserInfor() %> </div> </form> </body> </html>
效果顯示: