20151213~20151227Web學習內容回顧整理javascript
C/S: Client客戶端程序css
B/S: Brower瀏覽器程序html
.net服務器軟件:IISjava
Java:TomCat正則表達式
Php:阿帕奇數據庫
1、頁面傳值c#
4、單選框:RadioButton 複選框:CheckBox服務器
4.1CheckBoxList 控件:去重顯示 ;複選框多選時可點擊查詢查出結果
1.TextBox:用戶輸入文本框 屬性:TextMode 單行文本框SingleLine 多行文本框MultiLine 密碼框Password 2.顯示文字:lable會生成Span標籤 literall將文字原封不動的打到頁面 3.按鈕:Button普通按鈕 ImageButton圖片按鈕 ,只能從根目錄下照圖片 LinkButton超連接按鈕,屬性PostBackUrl 4.Image:圖片工具 HyperLink:超連接工具,屬性NavigateUrl跳向的頁面
跳轉頁面: //方式一,重定向頁面,會直接換掉瀏覽器中的Url,能夠跳轉到任何頁面 Response.Redirect("Default.aspx?uid=123&pwd=123"); //方式二,從新請求頁面直接顯示在當前頁面,跳轉根目錄下的頁面 Server.Transfer("Default.aspx");
頁面傳值: 1.QueryString:Form表單的提交方式 傳值頁面傳值:Response.Redirect("Test.aspx?uid=123&pwd=123"); 接收頁面取值:Request["uid"].ToString(); 2.Session 特色:默認過時時間是20分鐘,存儲在服務器的,每人一個,能夠存儲任何東西,安全,佔資源。 用法:傳值頁面傳值:Session["key"]="aa"; 接收頁面取值:Session["key"]; 3.Cookie 特色:默認永不過時,存儲在客戶端的,只能存放字符串。 用法:傳值頁面傳值:
//1.造Cookie對象 HttpCookie aa = new HttpCookie("uid"); //2.給該Cookie一個值 aa.Value = "aa"; //3.寫入客戶端 Response.AppendCookie(aa); 接收頁面取值:Request.Cookies["uid"].Value.ToString(); 4.Application 特色:存儲在服務器,只存儲一份 用法:傳值頁面傳值:Application["uid"] = "aa"; 接收頁面取值:Application["uid"].ToString();
下拉列表:DropDownList
1、綁定數據方法一: testDataContext context = new testDataContext(); DropDownList1.DataSource = context.Nation;//指定數據源 DropDownList1.DataValueField = "Code"; DropDownList1.DataTextField = "Name"; DropDownList1.DataBind();//綁定數據 綁定數據方法二:造一個ListItem項 ListItem item = new ListItem(); item.Text = "中國"; item.Value = "0001"; ListItem item1 = new ListItem(); item1.Text = "韓國"; item1.Value = "0002"; DropDownList1.Items.Add(item); DropDownList1.Items.Add(item1); 綁定數據方法三: 點擊DropDownList右邊的小箭頭,選擇數據源 2、取選中項的值 將DropDownList屬性中的AutoPostBack設置爲true protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { Label1.Text = DropDownList1.SelectedValue.ToString(); } if (!IsPostBack){}//避免從新綁定數據 3、設置哪一項選中 方法一: DropDownList1.SelectedIndex = 2; 方法二: foreach( ListItem item in DropDownList1.Items ) { if (item.Value == "n002") { item.Selected = true; } }
private testDataContext context = new testDataContext(); protected void Page_Load(object sender, EventArgs e) { //頁面加載時填充上省市區 if(!IsPostBack) { FillSheng(); FillShi(); FillQu(); } } //先寫三個方法,第一個填充省,第二個填充市,第三個填充區 public void FillSheng() { dropsheng.DataSource = context.ChinaStates.Where(p =>p.ParentAreaCode == "0001"); dropsheng.DataTextField = "AreaName"; dropsheng.DataValueField = "AreaCode"; dropsheng.DataBind(); } public void FillShi() { //先找出選中的省的代號 string sheng = dropsheng.SelectedValue.ToString(); dropshi.DataSource = context.ChinaStates.Where(p => p.ParentAreaCode == sheng); dropshi.DataTextField = "AreaName"; dropshi.DataValueField = "AreaCode"; dropshi.DataBind(); } public void FillQu() { string shi = dropshi.SelectedValue.ToString(); dropqu.DataSource = context.ChinaStates.Where(p => p.ParentAreaCode == shi); dropqu.DataTextField = "AreaName"; dropqu.DataValueField = "AreaCode"; dropqu.DataBind(); } //事件,點擊省時,市也變化,點擊市時,區也變化 //一、將DropDownList屬性中的AutoPostBack設置爲true //二、省變化的時候填充市,市變化的時候填充區 protected void dropsheng_SelectedIndexChanged(object sender, EventArgs e) { FillShi(); } protected void dropshi_SelectedIndexChanged(object sender, EventArgs e) { FillQu(); }
實現效果:
列表框: ListBox
1、 綁定數據 方法一: testDataContext context = new testDataContext(); ListBox1.DataSource = context.Nation; ListBox1.DataValueField = "Code"; ListBox1.DataTextField = "Name"; ListBox1.DataBind(); 綁定數據 方法二: ListItem item = new ListItem(); item.Value = "0001"; item.Text = "中國"; ListBox1.Items.Add(item); 綁定數據 方法三: 點擊ListBox右邊的小箭頭,選擇數據源 2、 取選中的值: ListBox屬性中SelectionMode設置爲Single是單選,Multiple是多選 單選: Label1.Text = ListBox1.SelectedValue.ToString(); 多選: Label1.Text = "";//清空 foreach (ListItem item in ListBox1.Items) { if (item.Selected) { Label1.Text += item.Value; } } 3、設置哪一項選中 單選: ListBox1.SelectedIndex = 0; 多選: foreach (ListItem item in ListBox1.Items) { if (item.Text =="漢族"||item.Text == "滿族") { item.Selected = true; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { testDataContext context = new testDataContext(); ListBox1.DataSource = context.Nation; ListBox1.DataTextField = "Name"; ListBox1.DataValueField = "Code"; ListBox1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { //把選中的listbox1的數據放到listbox2 //先找選中項 foreach( ListItem item in ListBox1.Items ) { if(item.Selected) { if (!ListBox2.Items.Contains(item))//判斷listbox2中有沒有1裏面選中的項,避免重複添加 { ListBox2.Items.Add(item); } } } } protected void Button2_Click(object sender, EventArgs e) { //把listbox1中的全部數據都放到listbox2中 foreach (ListItem item in ListBox1.Items) { if (!ListBox2.Items.Contains(item))//判斷listbox2中有沒有1裏面選中的項,避免重複添加 { ListBox2.Items.Add(item); } } }
實現效果:
單選框:Radiobutton 單選按鈕列表:RadioButtonList
單選框:RadioButton RadioButton中有個屬性GroupName,當單選時,必須把各個選項的組名設成同一個 查看按鈕是否選中:bool sex = RadioButton1.Checked; Label1.Text = sex.ToString();
單選按鈕列表:RadioButtonList 屬性:RepeatDirection:橫向或縱向 綁定數據: TextDataContext context = new TextDataContext(); RadioButtonList1.DataSource = context.Nation; RadioButtonList1.DataTextField = "Name"; RadioButtonList1.DataValueField = "Code"; RadioButtonList1.DataBind(); 取選中項的值: Label1.Text =RadioButtonList1.SelectedValue.ToString(); 設置哪一項被選中: RadioButtonList1.SelectedIndex = 2;
複選框:CheckBox 複選框列表:CheckBoxList
複選框:CheckBox 看一下該按鈕是否選中:checkbox1.Checked; 其他和單選框同樣 複選框列表:CheckBoxList 屬性RepeatDirection:橫向Horizontal或縱向Vertical 綁定數據: CheckBoxList1.DataSource = context.Nation; CheckBoxList1.DataTextField = "Name"; CheckBoxList1.DataValueField = "Code"; CheckBoxList1.DataBind(); 取選中項的值: Label1.Text = "";//清空 foreach( ListItem item in CheckBoxList1.Items) { if (item.Selected) { Label1.Text += item.Text; } } 設置哪一項被選中: 單項選中: CheckBoxList1.SelectedIndex = 2; 多項選中: foreach (ListItem item in CheckBoxList1.Items) { if (item.Text == "漢族" || item.Text == "滿族") { item.Selected = true; } }
若是代碼沒有執行,頗有多是AutoPostBack沒有設置爲Ture
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TextDataContext context = new TextDataContext(); CheckBoxList1.DataSource = context.Nation; CheckBoxList1.DataTextField = "Name"; CheckBoxList1.DataValueField = "Code"; CheckBoxList1.DataBind(); } } protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { //設置點擊全選和取消全選 foreach( ListItem item in CheckBoxList1.Items ) { item.Selected = CheckBox1.Checked; } } protected void Button1_Click(object sender, EventArgs e) { //取值 string zhi = ""; foreach( ListItem item in CheckBoxList1.Items ) { if(item.Selected) { zhi += item.Value.ToString()+",";//用,分割 } } //去掉最後多餘的逗號 zhi = zhi.Substring(0, zhi.Length - 1); //拆分字符串,把選中的每一項都彈出一個窗體 string[] codes; codes = zhi.Split(','); //造js代碼 string js = "<script type='text/javascript'>"; for (int i = 0; i < codes.Length; i++) { js += "alert('"+codes[i]+"');"; } js += "</script>"; Literal1.Text = js; //彈出一個窗體,顯示選中的值,藉助一個工具Literall,在Literall中寫js代碼 //Literal1.Text = "<script type='text/javascript'>alert('" + zhi + "')</script>"; }
實現效果:
Repeater:
往HTML裏面嵌入c#代碼,格式:<%#Eval("") %>, #表明綁定數據,Eval()括號裏面寫列名屬性名Repeater:
用法: 1、綁定數據源: if(!IsPostBack) { TextDataContext context = new TextDataContext(); Repeater1.DataSource = context.Info; Repeater1.DataBind(); } 2、造模板: 頭模板:HeaderTemplate:只出現一次,通常是標題行 腳模板:FooterTemplate:只出現一次 項模板:ItemTemplate:根據數據源中數據的多少生成。 綁定數據: 1.Eval("Code"):綁定顯示某一個字段 2.調用函數來顯示數據 3.綁定主表中的字段:Nation1.Name 4.格式化顯示數據:Eval("Birthday","{0:yyyy年MM月dd日}") 3、如何出現交替項 交替模板:AlternatingItemTemplate:用來交替顯示數據,通常只須要改變樣式。 用Repeater根據數據庫中的數據作菜單: 1、綁定數據: Repeater2.DataSource = context.Nation; Repeater2.DataBind(); 2、造模板: 頭模板:<HeaderTemplate><u id="menu"></HeaderTemplate> 項模板:<ItemTemplate><li class="cd" bs="<%#Eval("Code") %>"><%#Eval("Name") %></li></ItemTemplate> 腳模板:<FooterTemplate></u></FooterTemplate> 3、樣式表: <style type="text/css"> * { margin: 0px auto; padding: 0px; } #menu { list-style:none; } .cd { float:left; width:100px; height:30px; background-color:#808080; font-size:13px; font-family:微軟雅黑; text-align:center; line-height:30px; vertical-align:middle; color:#fff; border-right:1px solid black; } </style> 改變表格中字體顏色:兩種方式
把性別顯示成男女,民族顯示成民族名稱,生日格式化顯示 一:寫函數,調用函數 二:直接找到主表中的列
練習:
複習:
分頁
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <h1> 汽車表分頁</h1> 14 <asp:Repeater ID="Repeater1" runat="server"> 15 <HeaderTemplate> 16 <table width="1000" border="0" cellspacing="1" cellpadding="1" bgcolor="#6600FF"> 17 <tr> 18 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF">代號</td> 19 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">名稱</td> 20 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">系列</td> 21 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" >上市時間</td> 22 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">油耗</td> 23 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">功率</td> 24 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">排量</td> 25 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">價格</td> 26 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">圖片</td> 27 </tr> 28 </HeaderTemplate> 29 <ItemTemplate> 30 <tr> 31 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Code") %></td> 32 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Name") %></td> 33 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Brand") %></td> 34 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" ><%#Eval("Time") %></td> 35 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Oil") %></td> 36 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Powers") %></td> 37 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Exhaust") %></td> 38 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Price") %></td> 39 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Pic") %></td> 40 </tr> 41 </ItemTemplate> 42 <FooterTemplate> 43 </table> 44 </FooterTemplate> 45 46 </asp:Repeater> 47 48 <asp:Literal ID="Literal1" runat="server"></asp:Literal> 49 50 <br /> 51 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上一頁" /> 52 53 <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="下一頁" /> 54 55 <asp:Label ID="Label2" runat="server" Text="跳轉到"></asp:Label> 56 <asp:TextBox ID="TextBox1" runat="server" Width="36px"></asp:TextBox> 57 <asp:Label ID="Label3" runat="server" Text="頁"></asp:Label> 58 <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="跳轉" /> 59 60 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 61 <br /> 62 63 </div> 64 </form> 65 </body> 66 </html>
1 public partial class _Default : System.Web.UI.Page 2 { 3 private TextDataContext context = new TextDataContext(); 4 protected void Page_Load(object sender, EventArgs e) 5 { 6 if (!IsPostBack) 7 { 8 Session["ys"] = 1; 9 //Skip()跳過多少條,Take()取多少條數據 10 TiaoZhuan(1); 11 } 12 Literal1.Text = ""; 13 } 14 protected void Button1_Click(object sender, EventArgs e) 15 { 16 //上一頁 17 int ys = Convert.ToInt32(Session["ys"]);//取出session的值 18 19 if (ys > 1)//判斷當前頁數大於1或等於1 20 { 21 ys = ys - 1; 22 Session["ys"] = ys; 23 TiaoZhuan(ys); 24 } 25 else 26 { 27 Literal1.Text = "<script type='text/javascript'>alert('當前已經是第一頁!')</script>"; 28 } 29 } 30 protected void Button2_Click(object sender, EventArgs e) 31 { 32 //下一頁 33 int ys = Convert.ToInt32(Session["ys"]);//取出session的值 34 35 int zys = AllYS(); 36 37 if (ys < zys)//判斷當前頁數與總頁數的關係 38 { 39 ys = ys + 1; 40 Session["ys"] = ys; 41 TiaoZhuan(ys); 42 } 43 else 44 { 45 Literal1.Text = "<script type='text/javascript'>alert('當前已經是最後一頁!')</script>"; 46 } 47 } 48 //跳轉到第幾頁 49 public void TiaoZhuan(int ys) 50 { 51 int qu = (ys - 1) * 5;//跳過的條數 52 Repeater1.DataSource = context.car.Skip(qu).Take(5); 53 Repeater1.DataBind(); 54 55 int all = AllYS(); 56 Label1.Text = "當前第:"+ys+"頁,總共:"+all+"頁"; 57 } 58 //取總頁數 59 public int AllYS() 60 { 61 int all = context.car.Count();//總共多少條數據 62 int zys;//總頁數 63 if (all % 5 == 0) 64 { 65 zys = all / 5; 66 } 67 else 68 { 69 zys = all / 5 + 1; 70 } 71 return zys; 72 } 73 protected void Button3_Click(object sender, EventArgs e) 74 { 75 int ys = 1; 76 try 77 { 78 ys = Convert.ToInt32(TextBox1.Text); 79 } 80 catch(Exception) 81 { 82 Literal1.Text = "<script type='text/javascript'>alert('請輸入數字!')</script>"; 83 } 84 85 int all = AllYS(); 86 if (1 <= ys && ys <= all) 87 { 88 TiaoZhuan(ys); 89 Session["ys"] = ys; 90 } 91 else 92 { 93 Literal1.Text = "<script type='text/javascript'>alert('超出範圍!')</script>"; 94 } 95 } 96 }
實現效果:
關鍵字查詢變色:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <h1>汽車表</h1> 14 <p> 15 <asp:Label ID="Label2" runat="server" Text="汽車名稱:"></asp:Label> 16 <asp:TextBox ID="TextBox1" runat="server" Width="121px"></asp:TextBox> 17 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="查詢" /> 18 </p> 19 <asp:Repeater ID="Repeater1" runat="server"> 20 <HeaderTemplate> 21 <table width="1000" border="0" cellspacing="1" cellpadding="1" bgcolor="#6600FF"> 22 <tr> 23 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF">代號</td> 24 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">名稱</td> 25 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">系列</td> 26 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" >上市時間</td> 27 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">油耗</td> 28 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">功率</td> 29 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">排量</td> 30 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">價格</td> 31 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF">圖片</td> 32 </tr> 33 </HeaderTemplate> 34 <ItemTemplate> 35 <tr> 36 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Code") %></td> 37 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Name") %></td> 38 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Brand") %></td> 39 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" ><%#Eval("Time") %></td> 40 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Oil") %></td> 41 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Powers") %></td> 42 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Exhaust") %></td> 43 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Price") %></td> 44 <td width="100" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Pic") %></td> 45 </tr> 46 </ItemTemplate> 47 <FooterTemplate> 48 </table> 49 </FooterTemplate> 50 </asp:Repeater> 51 52 </div> 53 </form> 54 </body> 55 </html>
1 public partial class Default2 : System.Web.UI.Page 2 { 3 private TextDataContext context = new TextDataContext(); 4 protected void Page_Load(object sender, EventArgs e) 5 { 6 if (!IsPostBack) 7 { 8 Repeater1.DataSource = context.car; 9 Repeater1.DataBind(); 10 } 11 } 12 protected void Button1_Click(object sender, EventArgs e) 13 { 14 //關鍵字查詢變色 15 string name = TextBox1.Text; 16 17 if (name != "") 18 { 19 var query = context.car.Where(p => p.name.Contains(name)); 20 foreach (car data in query) 21 { 22 //變成黃色 23 //data.name = data.name.Replace(name, "<mark>" + name + "</mark>"); 24 //變成紅色 25 data.name = data.name.Replace(name, "<span style='background-color:red'>" + name + "</span>"); 26 } 27 Repeater1.DataSource = query; 28 Repeater1.DataBind(); 29 } 30 else 31 { 32 Repeater1.DataSource = context.car; 33 Repeater1.DataBind(); 34 } 35 } 36 }
實現效果:
流水號:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="liushuihao.aspx.cs" Inherits="liushuihao" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <h1>添加商品</h1> 14 <p> 15 <asp:Label ID="Label1" runat="server" Text="名稱:"></asp:Label> 16 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 17 </p> 18 <p> 19 <asp:Label ID="Label2" runat="server" Text="價格:"></asp:Label> 20 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 21 </p> 22 <p> 23 <br /> 24 <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" /> 25 26 <asp:Button ID="Button2" runat="server" Text="隨機" OnClick="Button2_Click" /> 27 </p> 28 29 30 </div> 31 </form> 32 </body> 33 </html>
1 public partial class liushuihao : System.Web.UI.Page 2 { 3 private TextDataContext context = new TextDataContext(); 4 protected void Page_Load(object sender, EventArgs e) 5 { 6 7 } 8 protected void Button1_Click(object sender, EventArgs e) 9 { 10 string name = TextBox1.Text; 11 double price = Convert.ToDouble(TextBox2.Text); 12 13 string code = ""; 14 //看一下表裏面有沒有數據 15 if (context.ShangPin.Count() == 0)//沒有數據 16 { 17 code = DateTime.Now.ToString("yyyyMMdd") + "001"; 18 } 19 else 20 { 21 string max = context.ShangPin.Max(p=>p.Code); 22 string max1 = max.Substring(8,3);//截取字符串 23 24 string rq = max.Substring(0,8); 25 26 if (rq == DateTime.Now.ToString("yyyyMMdd"))//判斷是不是同一天 27 { 28 29 int max2 = Convert.ToInt32(max1); 30 max2 = max2 + 1; 31 //拼接字符串 32 if (max2 < 10) 33 { 34 code = DateTime.Now.ToString("yyyyMMdd") + "00" + max2; 35 } 36 else if (max2 < 100) 37 { 38 code = DateTime.Now.ToString("yyyyMMdd") + "0" + max2; 39 } 40 else 41 { 42 code = DateTime.Now.ToString("yyyyMMdd") + max2; 43 } 44 } 45 else 46 { 47 code = DateTime.Now.ToString("yyyyMMdd") + "001"; 48 } 49 } 50 //添加 51 ShangPin data = new ShangPin();//造對象 52 data.Code = code; 53 data.Name = name; 54 data.Price = price; 55 56 context.ShangPin.InsertOnSubmit(data); 57 context.SubmitChanges(); 58 59 } 60 protected void Button2_Click(object sender, EventArgs e) 61 { 62 //隨機 63 string name = TextBox1.Text; 64 double price = Convert.ToDouble(TextBox2.Text); 65 //生成隨機數 66 Random rd = new Random(); 67 68 string code = DateTime.Now.ToString("yyyyMMddHHmmss")+rd.Next(1000); 69 //添加 70 ShangPin data = new ShangPin();//造對象 71 data.Code = code; 72 data.Name = name; 73 data.Price = price; 74 75 context.ShangPin.InsertOnSubmit(data); 76 context.SubmitChanges(); 77 } 78 }
數據庫查詢顯示:
練習:審覈
CheckBoxList 控件:去重顯示 ;複選框多選時可點擊查詢查出結果
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Main" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 14 <br /> 15 <br /> 16 <asp:Label ID="Label1" runat="server" Text="區域:"></asp:Label> 17 <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" Text="全選" /> 18 <br /> 19 <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal"> 20 </asp:CheckBoxList> 21 <br /> 22 <asp:Label ID="Label2" runat="server" Text="租賃類型:"></asp:Label> 23 <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox2_CheckedChanged" Text="全選" /> 24 <br /> 25 <asp:CheckBoxList ID="CheckBoxList2" runat="server" RepeatDirection="Horizontal"> 26 </asp:CheckBoxList> 27 <br /> 28 <asp:Label ID="Label3" runat="server" Text="房屋類型:"></asp:Label> 29 <asp:CheckBox ID="CheckBox3" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox3_CheckedChanged" Text="全選" /> 30 <br /> 31 <asp:CheckBoxList ID="CheckBoxList3" runat="server" RepeatDirection="Horizontal"> 32 </asp:CheckBoxList> 33 <br /> 34 <asp:Label ID="Label4" runat="server" Text="關鍵字:"></asp:Label> 35 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 36 <br /> 37 <br /> 38 <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="搜索" /> 39 <br /> 40 41 <asp:Repeater ID="Repeater1" runat="server"> 42 <HeaderTemplate> 43 <table width="840" border="0" cellspacing="1" cellpadding="1" bgcolor="#6600FF"> 44 <tr> 45 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF"></td> 46 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">關鍵字</td> 47 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">區域</td> 48 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" >使用面積</td> 49 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">租金</td> 50 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">租賃類型</td> 51 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF">房屋類型</td> 52 </tr> 53 </HeaderTemplate> 54 <ItemTemplate> 55 <tr> 56 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><a href="Update.aspx?id=<%#Eval("id") %>">編輯</a> <a href="Delete.aspx?id=<%#Eval("id") %>">刪除</a></td> 57 <td width="120" height="30" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("KeyWord") %></td> 58 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("Area") %></td> 59 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("SquareMeter") %></td> 60 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF" ><%#Eval("Rent") %></td> 61 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("RentType") %></td> 62 <td width="120" align="center" valign="middle" bgcolor="#FFFFFF"><%#Eval("HouseType") %></td> 63 </tr> 64 </ItemTemplate> 65 <FooterTemplate> 66 </table> 67 </FooterTemplate> 68 </asp:Repeater> 69 70 </div> 71 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="添加數據" /> 72 </form> 73 </body> 74 </html>
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Collections; 8 9 public partial class Main : System.Web.UI.Page 10 { 11 private HouseDataContext context = new HouseDataContext(); 12 protected void Page_Load(object sender, EventArgs e) 13 { 14 if (!IsPostBack) 15 { 16 Repeater1.DataSource = context.House; 17 Repeater1.DataBind(); 18 19 // 去重顯示 方式一: 20 var query = context.House; 21 //經過操做集合去重顯示 22 foreach (House data in query) 23 { 24 ListItem item = new ListItem();//造項 25 item.Text = data.Area; 26 if (!CheckBoxList1.Items.Contains(item)) 27 { 28 CheckBoxList1.Items.Add(item); 29 } 30 } 31 foreach (House data in query) 32 { 33 ListItem item = new ListItem();//造項 34 item.Text = data.RentType; 35 if (!CheckBoxList2.Items.Contains(item)) 36 { 37 CheckBoxList2.Items.Add(item); 38 } 39 } 40 foreach (House data in query) 41 { 42 ListItem item = new ListItem();//造項 43 item.Text = data.HouseType; 44 if (!CheckBoxList3.Items.Contains(item)) 45 { 46 CheckBoxList3.Items.Add(item); 47 } 48 } 49 //去重顯示 方式二: 50 //List<string> list = context.House.Select(p => p.Area).Distinct().ToList(); 51 //foreach (string text in list) 52 //{ 53 // ListItem item = new ListItem(); 54 // item.Text = text; 55 // CheckBoxList1.Items.Add(item); 56 //} 57 //List<string> listr = context.House.Select(p => p.RentType).Distinct().ToList(); 58 //foreach (string text in listr) 59 //{ 60 // ListItem item = new ListItem(); 61 // item.Text = text; 62 // CheckBoxList2.Items.Add(item); 63 //} 64 //List<string> listh = context.House.Select(p => p.HouseType).Distinct().ToList(); 65 //foreach (string text in listh) 66 //{ 67 // ListItem item = new ListItem(); 68 // item.Text = text; 69 // CheckBoxList3.Items.Add(item); 70 //} 71 } 72 } 73 protected void Button1_Click(object sender, EventArgs e) 74 { 75 Response.Redirect("Insert.aspx"); 76 } 77 protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 78 { 79 foreach (ListItem item in CheckBoxList1.Items) 80 { 81 item.Selected = CheckBox1.Checked; 82 } 83 } 84 protected void CheckBox2_CheckedChanged(object sender, EventArgs e) 85 { 86 foreach (ListItem item in CheckBoxList2.Items) 87 { 88 item.Selected = CheckBox2.Checked; 89 } 90 } 91 protected void CheckBox3_CheckedChanged(object sender, EventArgs e) 92 { 93 foreach (ListItem item in CheckBoxList3.Items) 94 { 95 item.Selected = CheckBox3.Checked; 96 } 97 } 98 protected void Button2_Click(object sender, EventArgs e) 99 { 100 List<House> list = context.House.ToList();//造集合存放全部的數據 101 ArrayList listArea = new ArrayList();//造集合 102 ArrayList listRentType = new ArrayList(); 103 ArrayList listHouseType = new ArrayList(); 104 105 //第一個查詢條件區域Area 106 if (CheckBoxList1.SelectedIndex >= 0 && !CheckBox1.Checked)//有選中項而且不全選 107 { 108 foreach (ListItem item in CheckBoxList1.Items)//取出裏面的選中值 109 { 110 if (item.Selected) 111 { //若是被選中 取出裏面的值 並賦給集合 112 listArea.Add (item.Text); 113 } 114 } 115 list = list.Where(p => listArea.Contains(p.Area)).ToList();//listArea是區域集合 包含這條數據Area的區域 116 } 117 //取第二個查詢條件租賃類型RentType 118 if (CheckBoxList2.SelectedIndex >= 0 && !CheckBox2.Checked) 119 { 120 foreach (ListItem item in CheckBoxList2.Items) 121 { 122 if (item.Selected) 123 { 124 listRentType.Add(item.Text); 125 } 126 } 127 list = list.Where(p => listRentType.Contains(p.RentType)).ToList(); 128 } 129 //取第三個查詢條件房屋類型HouseType 130 if (CheckBoxList3.SelectedIndex >= 0 && !CheckBox3.Checked) 131 { 132 foreach (ListItem item in CheckBoxList3.Items) 133 { 134 if (item.Selected) 135 { 136 listHouseType.Add(item.Text); 137 } 138 } 139 list = list.Where(p => listHouseType.Contains(p.HouseType)).ToList(); 140 } 141 //取第四個查詢條件關鍵字KeyWord 142 string keyword = TextBox1.Text; 143 if(keyword != "") 144 { 145 list = list.Where(p => p.KeyWord.Contains(keyword)).ToList(); 146 } 147 148 Repeater1.DataSource = list; 149 Repeater1.DataBind(); 150 } 151 }
去重顯示實現效果:
多選查詢顯示效果:
驗證控件
驗證控件: 1、非空驗證 RequiredFieldValidator 屬性:ErrorMessage:驗證失敗要顯示的錯誤信息 Forecolor:文本的顏色 Display:顯示的方式,默認Static佔空間,Dynamic不佔空間 ControlToValidate:要驗證的控件 ValidaionGroup:驗證分組 2、對比驗證 CompareValidator 屬性:ErrorMessage:驗證失敗要顯示的錯誤信息 Display:顯示的方式 ControlToValidate:要驗證的控件 ControlToCompare:要對比的控件 Type:按照什麼類型對比 ValidaionGroup:驗證分組 3、範圍驗證 RangeValidator 屬性:ErrorMessage:驗證失敗要顯示的錯誤信息 Display:顯示的方式 ControlToValidate:要驗證的控件 MaximumValu:範圍的最大值 MinimumValu:範圍的最小值 Type:按照什麼類型對比 ValidaionGroup:驗證分組 4、正則表達式驗證 RegularExpressionValidator 屬性:ErrorMessage:驗證失敗要顯示的錯誤信息 Display:顯示的方式 ControlToValidate:要驗證的控件 ValidationExpression:要驗證的正則表達式 ValidaionGroup:驗證分組 5、驗證彙總控件: ValidationSummary 屬性:ValidaionGroup:驗證分組 ShowSummary:以文本摘要的方式顯示錯誤彙總信息 ShowMessageBox:以對話框的方式顯示錯誤彙總信息
前臺
驗證控件只需修改控件中的屬性,不用寫後臺代碼
實現效果:
上傳文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!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> <br /> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上傳" /> <br /> <br /> <br /> <div id="localImag" style="width: 200px; height: 200px"> <img id="preview" alt="預覽圖片" src="images/qiye.png" width="200" height="200" /> <asp:FileUpload ID="PicLoad" Width="200px" Height="200px" style="position:relative; top:-200px; opacity:0" runat="server" onchange="javascript:setImagePreview(this,localImag,preview);"></asp:FileUpload> </div> <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="上傳" /> <script type="text/javascript"> function setImagePreview(docObj, localImagId, imgObjPreview) { if (docObj.files && docObj.files[0]) { //火狐下,直接設img屬性 imgObjPreview.style.display = 'block'; imgObjPreview.style.width = '200px'; imgObjPreview.style.height = '200px'; //火狐7以上版本不能用上面的getAsDataURL()方式獲取,須要一下方式 imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]); } else { //IE下,使用濾鏡 docObj.select(); var imgSrc = document.selection.createRange().text; //必須設置初始大小 localImagId.style.width = "200px"; localImagId.style.height = "200px"; //圖片異常的捕捉,防止用戶修改後綴來僞造圖片 try { localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; } catch (e) { alert("您上傳的圖片格式不正確,請從新選擇!"); return false; } imgObjPreview.style.display = 'none'; document.selection.empty(); } return true; } </script> <br /> </div> </form> </body> </html>
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 public partial class Default2 : System.Web.UI.Page 9 { 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 13 } 14 protected void Button1_Click(object sender, EventArgs e) 15 { 16 //一、找到要上傳文件的文件名 17 string name = FileUpload1.FileName.ToString(); 18 //二、處理文件名 19 string CLname = DateTime.Now.ToString("yyyyMMddHHmmssms")+name; 20 //三、造一個要保存的路徑 21 string path = @"Files\" + CLname; 22 //四、處理路徑爲絕對路徑 23 string JDpath = Server.MapPath(path); 24 //五、保存 25 FileUpload1.SaveAs(JDpath); 26 } 27 protected void Button2_Click(object sender, EventArgs e) 28 { 29 //一、找到要上傳文件的文件名 30 string name = FileUpload1.FileName.ToString(); 31 //二、處理文件名 32 string CLname = DateTime.Now.ToString("yyyyMMddHHmmssms") + name; 33 //三、造一個要保存的路徑 34 string path = @"images\" + CLname; 35 //四、處理路徑爲絕對路徑 36 string JDpath = Server.MapPath(path); 37 //五、保存 38 FileUpload1.SaveAs(JDpath); 39 } 40 }
實現效果:上傳後: