WebForm 內置對象

来源:http://www.cnblogs.com/zzzy0828/archive/2016/09/24/5904004.html
-Advertisement-
Play Games

內置對象: Response對象:響應請求 Response.Write("<script>alert('添加成功!')</script>"); Response.Redirect("Default.aspx"); Request對象:獲取請求 Request["key"]來獲取傳遞過來的值 Que ...


內置對象:

Response對象:響應請求
Response.Write("<script>alert('添加成功!')</script>");
Response.Redirect("Default.aspx");

Request對象:獲取請求
Request["key"]來獲取傳遞過來的值

QueryString:地址欄數據傳遞 ?key=value&key=value
註意事項:不需要保密的東西可以傳
不要傳過長東西,因為長度有限,過長會造成數據丟失

增刪改查

Default.aspx中添加用戶

 
 <input id="btn1" type="button" value="添加用戶" />

        <script>
            document.getElementById("btn1").onclick = function () {
                window.open("Default3.aspx", "_self");
            };

        </script>
 

 

添加(方法)

public bool Insert(Users u)
{//添加
bool isok = false;
cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@a", u.UserName);
cmd.Parameters.Add("@b", u.PassWord);
cmd.Parameters.Add("@c", u.NickName);
cmd.Parameters.Add("@d", u.Sex);
cmd.Parameters.Add("@e", u.Birthday);
cmd.Parameters.Add("@f", u.Nation);

conn.Open();
try
{
cmd.ExecuteNonQuery();
isok = true;
}
catch { }
conn.Close();
return isok;
}

<body>


    <form id="form1" runat="server">
        <h1>用戶添加</h1>
    用戶名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><br />
        
        密碼:<asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox><br /><br />
        確認密碼:<asp:TextBox ID="TextBox4" runat="server" TextMode="Password"></asp:TextBox><br /><br />
        昵稱:<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br /><br />
        性別:<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
            <asp:ListItem Value="true" Selected="True">男</asp:ListItem>
            <asp:ListItem Value="false">女</asp:ListItem>
        </asp:RadioButtonList><br /><br />
        生日:<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>年<asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>月<asp:DropDownList ID="DropDownList4" runat="server"></asp:DropDownList>日<br /><br />
        民族:<asp:DropDownList ID="DropDownList1" runat="server" Width="122px"></asp:DropDownList><br /><br />
       &nbsp &nbsp &nbsp &nbsp <asp:Button ID="Button1" runat="server" Text="註 冊" /><br />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        

    
    </form>



</body>
 

密碼JS驗證

 
<script type="text/javascript">
        window.onload = function () {/*document操作取出密碼框里內容*/
            document.getElementById("Button1").onclick = function () {
                var pwd1 = document.getElementById("TextBox3").value;
                var pwd2 = document.getElementById("TextBox4").value;
               /* alert(pwd1);檢測一下*/
               /* alert(pwd2);*/
                if (pwd1 != pwd2) {
                    document.getElementById("Label2").innerText = "兩次密碼輸入不一致";
                    return false;/*密碼不一阻止刷新,一樣就刷新*/
                }
            };
        };

    </script>

    <style type="text/css">
        #Label2 {
        
        color:red;/*Label2里所呈現的文字顯示紅色*/
        }

    </style>
</head>
 

 

 

預設性別,做三個DropDownList

<asp:ListItem Value="true" Selected="True">男</asp:ListItem>
 
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)//數據綁定
        {
            for (int i = DateTime.Now.Year; i >= 1900; i--)
            {
                //添加年
                ListItem li = new ListItem(i.ToString(),i.ToString());
                DropDownList2.Items.Add(li);
            }

            for (int i = 1; i <= 12; i++)
            {
                //月
                ListItem li = new ListItem(i.ToString(), i.ToString());
                DropDownList3.Items.Add(li);
            }

            for (int i = 1; i <= 31; i++)
            {
                //日
                ListItem li = new ListItem(i.ToString(), i.ToString());
                DropDownList4.Items.Add(li);
            }

            //取出民族的數據
            DropDownList1.DataSource = new NationDA().Select();
            DropDownList1.DataTextField = "NationName";
            DropDownList1.DataValueField = "NationCode";
            DropDownList1.DataBind();
        }
         Button1.Click += Button1_Click;//事件委托
    }

void Button1_Click(object sender, EventArgs e)
{
//1、構建一個Users對象
Users u = new Users();
u.UserName = TextBox1.Text;
u.PassWord = TextBox3.Text;
u.NickName = TextBox4.Text;
u.Sex = Convert.ToBoolean(RadioButtonList1.SelectedItem.Value);
string date = DropDownList1.SelectedValue + "-" + DropDownList2.SelectedValue + "-" + DropDownList3.SelectedValue;
u.Birthday = Convert.ToDateTime(date);
u.Nation = DropDownList4.SelectedItem.Value;


//2、將此對象添加到資料庫去
bool ok = new UsersData().Insert(u);


//3、提示添加成功
if (ok)
{
Response.Write("<script>alert('添加成功!')</script>");
Response.Redirect("Default.aspx");
}
else
{
Response.Write("<script>alert('添加失敗!')</script>");
}


//4、關閉此頁面,刷新展示頁面
}
}

 
 

二、刪除

操作,在default.aspx主頁數據顯示中添加一列,點刪除,打開新的網頁delete.aspx執行代碼後關閉,刷新主頁面

<td>操作</td>

   <td><a href="delete.aspx"?un=<%#Eval("UserName")
>刪除</a></td>
 
//新網頁中執行的刪除代碼
//1、獲取要刪除的主鍵值,username,做刪除的方法
        string Uname = Request["un"].ToString(); 獲取請求

        //2、刪除
        new UsersDA().Delete(Uname);
        //3、調回Main頁面
        Response.Redirect("Main.aspx");
 

三、修改

新建窗體xiugai.aspx  數據展示頁面添加一列修改,點擊進入xiugai.aspx

<td><a href="#">修改</a></td>

數據操作類添加方法:

 
public bool Update(Users u)
    {
        bool isok = false;
        cmd.CommandText = "update Users set PassWord=@b,NickName=@c,Sex=@d,Birthday=@e,Nation=@f where UserName=@a";
        cmd.Parameters.Clear();
        cmd.Parameters.Add("@a", u.UserName);
        cmd.Parameters.Add("@b", u.PassWord);
        cmd.Parameters.Add("@c", u.NickName);
        cmd.Parameters.Add("@d", u.Sex);
        cmd.Parameters.Add("@e", u.Birthday);
        cmd.Parameters.Add("@f", u.Nation);

        conn.Open();
        try
        {
            cmd.ExecuteNonQuery();
            isok = true;
        }
        catch { }
        conn.Close();
        return isok;
    }
   
//1步、構建一個Users對象
        Users u = new Users();
        u.UserName = Label1.Text;

        if (TextBox3.Text == "" && TextBox4.Text == "")
        {//判斷密碼的
            u.PassWord = pwd;
        }
        else
        {
            u.PassWord = TextBox3.Text;
        }

        u.NickName = TextBox6.Text;
        u.Sex = Convert.ToBoolean(RadioButtonList1.SelectedItem.Value);
        string data = DropDownList2.SelectedValue + "-" + DropDownList3.SelectedValue + "-" + DropDownList4.SelectedValue;
        u.Birthday = Convert.ToDateTime(data);
        u.Nation = DropDownList1.SelectedItem.Value;

        //2步、將此對象添加到資料庫去,先在UserDA里修改方法
        bool ok = new UsersDA().Update(u);
        //3步、提示修改成功
        if (ok)
        {
            Response.Write("<script>alert('修改成功!')</script>");
          4步、Response.Write("<script>this.opener.location.href='Main.aspx';this.close();</script>");
            //Response.Redirect("Main.aspx");//重定項

        }
        else
        {
            Response.Write("<script>alert('修改失敗!')</script>");
        }
        //4、關閉此頁面,刷新展示頁面
        //用JS寫
    }
}

Cookies

做一個登陸界面

<form id="form1" runat="server">
用戶名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
密碼:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:CheckBox ID="CheckBox1" runat="server" /><label for="CheckBox1">記住登陸狀態7天</label><br />

<asp:Button ID="Button1" runat="server" Text="登陸" />
</form>

點擊事件

 protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        bool ok = new UsersData().Select(TextBox1.Text, TextBox2.Text);
        if (ok)
        {
            Response.Cookies["user"].Value = TextBox1.Text;

            if (CheckBox1.Checked)
            {
                Response.Cookies["user"].Expires = DateTime.Now.AddDays(7);
            }
            Response.Redirect("Default.aspx");
        }

    }

 


登陸狀態保持:
Cookies

在用戶電腦的硬碟上保存的一段文本

http協議包括瀏覽器,允許站點在用戶電腦上以Cookies的形式來臨時保存數據

如果沒有設置保存時間,會話cookies
1、如果你20分鐘內沒有再次刷新頁面,那麼此cookies就會自動刪除掉
2、噹噹前訪問連接中斷,如關閉瀏覽器,那麼cookies會自動刪除

作用:
保持用戶的登陸狀態


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.編譯器gcc的語法順序 PC: gcc -o ana *.o ${LIBS} 輸出可執行文件名 各種目標文件 要鏈接的庫 交叉編譯:arm-linux-gcc ${LIBS] *.o -o ana 2.Minigui.config 將/usr/local/etc/MiniGUI.cfg 與 ./ ...
  • 關於《rsyslog+mysql+loganalyzer搭建日誌伺服器<個人筆記>》的反思--鏈接--http://www.cnblogs.com/drgcaosheng/p/5832697.html 之前使用這個搭建了一個日誌伺服器,但是在mysql中,日誌增加太快,過了些天,已經有幾千萬的數據了 ...
  • 0 Asp.Net Core 項目實戰之許可權管理系統(0) 無中生有 1 Asp.Net Core 項目實戰之許可權管理系統(1) 使用AdminLTE搭建前端 2 Asp.Net Core 項目實戰之許可權管理系統(2) 功能及實體設計 3 Asp.Net Core 項目實戰之許可權管理系統(3) 通過 ...
  • Linq to JSON是用來操作JSON對象的.可以用於快速查詢,修改和創建JSON對象.當JSON對象內容比較複雜,而我們僅僅需要其中的一小部分數據時,可以考慮使用Linq to JSON來讀取和修改部分的數據而非反序列化全部. 二.創建JSON數組和對象 在進行Linq to JSON之前,首 ...
  • 一、內置對象 (一)Response對象 1、簡介:response 對象在ASP中負責將信息傳遞給用戶.Response對象用於動態響應客戶端請求,並將動態生成的響應結果返回到客戶端瀏覽器中,使用Response對象可以直接發送信息給瀏覽器,重定向瀏覽器到另一個URL或設置cookie的值等. 2 ...
  • 很久沒在博客園寫文章了,打算把一直由自己一個人寫的一整套系統開放出來,今天先放一些截圖及可以演示的地址! 這套系統包含數據層(HB.Data)、計劃任務(HB.PlanTask)、日誌系統(HB.Log)、模版系統(HB.TemplateEngine)、Url重寫(HB.UrlRewriter)、a ...
  • 類型參數使得設計類和方法時,不必確定一個或多個具體參數,其的具體參數可延遲到客戶代碼中聲明、實現。 這意味著使用泛型的類型參數T,寫一個類MyList<T>,客戶代碼可以這樣調用:MyList<int>, MyList<string>或 MyList<MyClass>。 這避免了運行時類型轉換或裝箱 ...
  • 一、說明 1) 這個類 是我 在真實項目中,優化解決真實問題 時,不參考第三方代碼,完全由自己查閱MSDN官方文檔 , 完成的一個真實生產環境中使用的功能類 2) 讀者在使用此類時,請尊重原創,在代碼中加上原創註釋:// Author -- Meng.NET (cnblogs.com) ,同時歡迎 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...