Web學習內容回顧整理

20151213~20151227Web學習內容回顧整理javascript

C/S: Client客戶端程序css

B/S: Brower瀏覽器程序html

.net服務器軟件:IISjava

Java:TomCat正則表達式

Php:阿帕奇數據庫

1、頁面傳值c#

2、下拉列表:DropDownList瀏覽器

3、列表框: ListBox安全

4、單選框:RadioButton 複選框:CheckBox服務器

     4.1CheckBoxList 控件:去重顯示 ;複選框多選時可點擊查詢查出結果

5、Repeater

6、分頁

7、關鍵字查詢變色

8、流水號

9、驗證控件

10、上傳文件

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>

改變表格中字體顏色:兩種方式
把性別顯示成男女,民族顯示成民族名稱,生日格式化顯示
    一:寫函數,調用函數
    二:直接找到主表中的列

 練習:

20151217:Web之Repeater使用:主頁面

20151217:Web之Repeater使用:添加

20151217:Web之Repeater使用:修改

20151217:Web之Repeater使用:刪除

複習:

20151221:Web複習:登錄

20151221:Web複習:主界面

20151221:Web複習:添加

20151221:Web複習:修改

20151221:Web複習:刪除

分頁

 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 汽車表分頁</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 &nbsp;&nbsp;
53         <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="下一頁" />
54 &nbsp;&nbsp;&nbsp;
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 &nbsp;<asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="跳轉" />
59 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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 &nbsp;<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         &nbsp;&nbsp;&nbsp;&nbsp;
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 }
後臺

數據庫查詢顯示:

練習:審覈

20151223:Web:審覈:註冊

20151223:Web:審覈:登錄

20151223:Web:審覈:主頁面

20151223:Web:審覈:審覈和取消

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>&nbsp;<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" />
&nbsp;<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 }
後臺

實現效果:上傳後:  

相關文章
相關標籤/搜索