婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET筆記之 控件與母板的區別分析

ASP.NET筆記之 控件與母板的區別分析

熱門標簽:濟源人工智能電話機器人價格 杭州智能電話機器人 廈門四川外呼系統 內蒙古智能電銷機器人哪家強 地圖標注位置多的錢 怎樣在地圖標注消火栓圖形 山東防封電銷卡辦理套餐 泰州手機外呼系統軟件 百度地圖標注點擊事件

1、ASP.NET的好壞處

CodeBehind:“前aspx后cs”的模式,
(1、aspx(控件定義、html、css)控制頁面長相,cs控制程序邏輯
aspx就是模板引擎,不需要再去尋找第三方的模板引擎
(2、aspx中調用cs的成員級別必須是protected或者public不能是private
因為當前this執行的是當前的子類(通過反編譯查看)

2、

Literal:
Mode屬性,避免XSS攻擊

TextBox:
AutopostBack=true 焦點離開Textbox提交表單
ASP.NET中經常不直接調用submit而是調用_doPostBack方法提交表單
TestChanged事件配合AutopostBack可以點擊submit自動提交表單更新輸入文本

Button:OnCLientClick
return confirm("真的要執行嗎?")

3、Button、LinkButton、ImageButton讓多個控件共享一個處理函數:
command屬性設置響應函數
CommandArgument=“daomul”(命令參數傳參數)
CommandName=“Remove”(名字)

4、

Panal:
弄成"高級設置"(fieldset)的渲染形式:GroupingText=“高級設置”

HyperLink:引用站內內部資源的時候很方便(自動轉換路徑)
NavigateUrl屬性

5、

FileUpload:
FileUploadl.HasFile:用戶是否選擇了文件
FileUploadl.SaveAs("根目錄全路徑"):
Server.Mapath或者VirtualPathUtility.ToAbsolute都可以
path=Server.Mapath(“~/upload/”);

漏洞:(只允許上傳指定類型的文件)

System.IO.File.Delete(Server.Mapath.("~/upload/"));
System.IO.File.ReadAllText(Server.Mapath.("~/upload/"));

6、實例:注冊界面

Register.aspx

復制代碼 代碼如下:

 %@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="登陸注冊.Register" %>

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

html xmlns="http://www.w3.org/1999/xhtml">

body>
    form id="form1" runat="server">
    div>
        table border="0" cellpadding="0" cellspacing="0">
            tr>
                td>
                    asp:Label ID="LabelName" runat="server" Text="姓名">/asp:Label>
                /td>
                td>
                    asp:TextBox ID="txtUserName" runat="server" AutoPostBack="True"
                        ontextchanged="txtUserName_TextChanged">/asp:TextBox>
                    asp:Label ID="errorMsg" runat="server"
                            Text="Label" CssClass="error" Visible="False">/asp:Label>
                /td>
            /tr>

           tr>
                td>
                    asp:Label ID="Label2" runat="server" Text="密碼">/asp:Label>
                /td>
                td>
                    asp:TextBox ID="txtPassWord" runat="server">/asp:TextBox>
                    密碼強度:
                    span id="spanPassWord" >/span>
                /td>
            /tr>

            tr>
                td>
                    asp:Label ID="Label3" runat="server" Text="重復輸入密碼">/asp:Label>
                /td>
                td>
                    asp:TextBox ID="txtPassWord_Second" runat="server">/asp:TextBox>
                /td>
            /tr>

            tr>
                td>
                    asp:Label ID="Label4" runat="server" Text="郵箱">/asp:Label>
                /td>
                td>
                    asp:TextBox ID="txtEmail" runat="server">/asp:TextBox>
                /td>
            /tr>

            tr>
                td>
                    asp:Button ID="btnRegister" runat="server" Text="注冊"
                        onclick="btnRegister_Click" />
                /td>
            /tr>
            tr>
                td>
                    asp:Label ID="LabelErrorMsg" runat="server" Visible="False">/asp:Label>
                /td>
            /tr>
        /table>
    /div>
    /form>
/body>
head id="Head1" runat="server">
    style type="text/css">
        .error{background:Red;}
    /style>
    title>注冊用戶/title>
    script src="Scripts/jquery-1.4.1.js" type="text/javascript">/script>
    script type="text/javascript">
        $(function () {
            $("#%=txtPassWord.ClientID %>").blur(function () {
                var str = $(this).val();
                if (str.length = 6) {
                    $("#spanPassWord").text("弱");
                }
                else {
                    //含有數字、字母
                    var check = /\w/;
                    if (check.test(str)) {
                        $("#spanPassWord").text("強");
                    }
                    else {
                        $("#spanPassWord").text("中");
                    }
                }

            });
            $("#%=form1.ClientID %>").submit(function () {
                var pas1 = $("#%=txtPassWord.ClientID %>").val();
                var pas2 = $("#%=txtPassWord_Second.ClientID %>").val();
                if (pas1 != pas2) {
                    alert("兩次輸入密碼不一致,請重新輸入");
                    return;
                }
                var sEmail = $("#%=txtEmail.ClientID %>").val();
                var check = /.+@.+/;
                if (!check.test(sEmail)) {
                    alert("郵箱格式不正確,請重新輸入");
                    return;
                }
            });
        });/script>
/head>
/html>
 


Register.apsx.cs
復制代碼 代碼如下:

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Web.UI;
 using System.Web.UI.WebControls;
 using 登陸注冊.DAL.DataSet1TableAdapters;
 using System.Text.RegularExpressions;

 namespace 登陸注冊
 {
     public partial class Register : System.Web.UI.Page
     {
         protected void Page_Load(object sender, EventArgs e)
         {

         }

         protected void btnRegister_Click(object sender, EventArgs e)
         {
             //服務器版測試是否符合要求:郵箱餓壞密碼
             if (txtPassWord.Text != txtPassWord_Second.Text)
             {
                 LabelErrorMsg.Text = "密碼不一致!";
                 LabelErrorMsg.Visible = true;
                 return;
             }
             Regex reEmail = new Regex(@".+@.+");
             if (!reEmail.IsMatch(txtEmail.Text))
             {
                 LabelErrorMsg.Text = "Email格式不正確!";
                 LabelErrorMsg.Visible = true;
                 return;
             }
             LabelErrorMsg.Visible = false;
             T_userInfoTableAdapter adapter = new T_userInfoTableAdapter();
             if (adapter.GetDataByUserName(txtUserName.Text).Count >= 1)
             {
                 errorMsg.Visible = true;
                 errorMsg.Text = "用戶名重復,請重新輸入!";
                 return;
             }
             long userId=Convert.ToInt64(adapter.InsertUser(txtUserName.Text, txtPassWord.Text,
                 txtEmail.Text));
             //讀取Session登陸信息
             Session["登陸ID"] = userId;
             Session["登陸標記"] = true;
             //設置可以傳參數的公共跳轉頁面
             //作用1:告訴用戶注冊成功,作用2:防止用戶點擊刷新重復提交數據
             Response.Redirect("target.aspx?Msg=注冊成功即將轉向登陸界面RedirectURL=login.aspx");
         }

         protected void txtUserName_TextChanged(object sender, EventArgs e)
         {
             T_userInfoTableAdapter adapter = new T_userInfoTableAdapter();
             if (adapter.GetDataByUserName(txtUserName.Text).Count >= 1) {
                 errorMsg.Visible = true;
                 errorMsg.Text = "用戶名重復,請重新輸入!";
             }
             else{
                 errorMsg.Visible = false;
             }
         }
     }
 }

其中要用到的正則表達式:

插入數據記錄:INSERT INTO [dbo].[T_userInfo] ([sUserName], [sPassWord], [Email])  output Inserted.Id VALUES (@sUserName, @sPassWord, @Email)

(1、增加SQL語句,

(2、增加一個output Insert.Id 在Insert語句當中
(3、設置ExecuteMode屬性為Scalar

7、三種控件的區別:html控件、服務端控件。runat=server 的控件(最好)

a1.Attributes("aaa")="建屬性賦值";

8、驗證控件

(1、 RequiredFieldVal:
設置哪個控件和顯示名稱(還有CausesValdation焦點移開) -----為空
初始值:InitleValue(請輸入關鍵字、包括下拉框的初始值)

Validator共性
!!!!!!!!!!
if(!IsValid){return;}
if(this.IsValid){//防止跳過客戶端校驗IsValid表示頁面中所有Validator是否都通過了
label1.Text="";
}
else{
label1.Text="客戶端填寫不足或有錯誤";
}

ValidstionGroup 分組(表單可以在頁面內單個組提交,而不關聯其他組)相同于按鈕的name

(2、RangeValidator:范圍驗證
最大最小比較
    Date.Now.()baidu下

(3、只有RequiredFieldValidator可以對字段為空進行驗證

(4、CompareValidator:比較驗證(類型校驗、與其他控件比較、)
       ControlToCompare設置為要比較的控件

RegularExpression:

VaildationExpression 正則表達式驗證

CustomVaildate自定義控件驗證

ServerValidate服務端校驗代碼
ClientVlidtionFunction

(5、ValidationSummary匯總錯誤信息
text 和ErrorMsg的區別,ErrorMsg就是用于ValidationSummary中,
而text則是直接顯示在驗證控件位置

 

 母版:

//操作模板頁的控件
Button btn=(Button)this.Master.FindControl("Button1");
btn.Visible=!btn.Vissble;

this.Master.Mapath();

虛擬路徑轉化為客戶端訪問的路徑(不是服務端控件):
src="%=ResolveClientUrl%>"

this.ResolveClientUrl();
ResolveClientUrl:考慮當前頁面的路徑
ResolveUrl:生成一個從根開始的路徑

您可能感興趣的文章:
  • ASP.NET小結之MVC, MVP, MVVM比較以及區別(二)
  • ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)
  • asp.net中virtual和abstract的區別分析
  • Asp.net中Response.Charset與Response.ContentEncoding區別示例分析
  • c#.net中const和readonly的區別
  • 詳細說明asp.net中datareader 和 dataset 的區別
  • asp.net中DBNull.Value,null,String.Empty區別淺析
  • asp.net 中靜態方法和動態方法調用的區別實例分析
  • .net中as和is之間的區別分析
  • .net中的session與cookies區別及使用方法
  • .NET MVC中ViewData,ViewBag和TempData的區別淺析

標簽:朔州 百色 洛陽 朝陽 周口 喀什 臺州 新鄉

巨人網絡通訊聲明:本文標題《ASP.NET筆記之 控件與母板的區別分析》,本文關鍵詞  ASP.NET,筆記,之,控件,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET筆記之 控件與母板的區別分析》相關的同類信息!
  • 本頁收集關于ASP.NET筆記之 控件與母板的區別分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本伊人色综合网| 亚洲乱码精品一二三四区日韩在线| 狠狠色伊人亚洲综合成人| 久久不见久久见免费视频7| 黄一区二区三区| 丁香啪啪综合成人亚洲小说 | 欧美成人免费网站| 久久久久久一二三区| 亚洲精品国产高清久久伦理二区| 日本不卡一区二区三区高清视频| 国产一区二区视频在线| 亚洲美腿欧美偷拍| 人人狠狠综合久久亚洲| 精品亚洲成a人| 97精品电影院| 精品理论电影在线观看 | 韩国视频一区二区| 不卡免费追剧大全电视剧网站| 成人av网站在线| 欧美日韩dvd在线观看| 日韩欧美精品在线| 亚洲午夜精品久久久久久久久| 一区二区三区免费看视频| 天天综合色天天| www.在线欧美| 日韩欧美www| 亚洲啪啪综合av一区二区三区| 精品在线亚洲视频| 国产一区二区精品久久99| 欧美日韩五月天| 久久天天做天天爱综合色| 一区二区三区毛片| 国产一区激情在线| 欧美老肥妇做.爰bbww| 亚洲日韩欧美一区二区在线| 国产高清不卡二三区| 欧美一级精品大片| 亚洲精品久久久蜜桃| 久久99久久精品欧美| 91论坛在线播放| 国产日本欧美一区二区| 亚洲午夜一二三区视频| 色综合激情五月| 国产精品久久久久一区二区三区| 欧美日韩精品综合在线| 国产精品一区二区三区99| 精品日韩一区二区| 国产精品69毛片高清亚洲| 国产91精品露脸国语对白| 久久久天堂av| 日韩一区在线免费观看| 国产精品三级久久久久三级| 欧美日韩国产在线播放网站| 有坂深雪av一区二区精品| 91视频一区二区三区| 亚洲国产精品99久久久久久久久| 蜜桃久久av一区| 91精品蜜臀在线一区尤物| 天堂成人国产精品一区| 欧美日韩一区二区在线观看| 亚洲欧洲综合另类在线| 91免费版pro下载短视频| 亚洲精品中文字幕乱码三区| 色狠狠综合天天综合综合| 国产精品福利影院| 国产精品夜夜爽| 国产精品一品视频| 亚洲精品在线观看网站| 另类中文字幕网| 日韩一级高清毛片| 亚洲一区二区三区在线| 在线精品亚洲一区二区不卡| 亚洲一区自拍偷拍| 91行情网站电视在线观看高清版| 亚洲欧洲成人精品av97| a美女胸又www黄视频久久| 国产精品视频一二| 日本韩国欧美一区| 亚洲午夜精品网| 欧美一级在线视频| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩高清一区| 国产综合一区二区| 亚洲精品成a人| 欧美嫩在线观看| 国产成人一区二区精品非洲| 亚洲电影在线播放| 欧美日韩国产美女| 精品制服美女久久| 一个色妞综合视频在线观看| 91精品1区2区| 精品一区二区三区免费播放| 久久午夜国产精品| 成人福利视频在线| 亚洲精品国产品国语在线app| 欧美午夜精品电影| 精品系列免费在线观看| 国产精品久久久久影院亚瑟 | 666欧美在线视频| 成人a区在线观看| 午夜免费欧美电影| 国产精品久久久久aaaa| 欧美一区二区三区视频免费播放| 国产一区在线精品| 亚洲精品综合在线| 26uuu国产电影一区二区| 欧美主播一区二区三区| 国产一区二区伦理| 日韩中文字幕91| 自拍视频在线观看一区二区| 日韩一区二区三区在线| 色噜噜偷拍精品综合在线| 国产成人免费在线视频| 舔着乳尖日韩一区| 一区二区三区在线免费观看| 欧美精品一区二区三| 欧美影视一区二区三区| 岛国精品一区二区| 日韩电影在线观看网站| 国产精品美女一区二区| 国产日产欧美一区二区视频| 欧美成人午夜电影| 69久久99精品久久久久婷婷| fc2成人免费人成在线观看播放| 九色综合狠狠综合久久| 日本在线不卡一区| 亚洲主播在线播放| 亚洲欧美另类综合偷拍| 日本一区二区综合亚洲| 精品国产不卡一区二区三区| 欧洲国内综合视频| 成人精品一区二区三区中文字幕| 精品一区二区三区不卡 | 天天操天天色综合| 亚洲成av人片一区二区| 亚洲成国产人片在线观看| 一区二区免费视频| 亚洲综合久久av| 性久久久久久久| 蜜臀91精品一区二区三区| 亚洲欧洲国产日本综合| 国产精品免费视频观看| 国产精品私房写真福利视频| 国产精品激情偷乱一区二区∴| 久久午夜羞羞影院免费观看| 2023国产精华国产精品| www国产成人免费观看视频 深夜成人网| 欧美一区二区视频在线观看2022| 欧美一区二区三区播放老司机| 日韩欧美国产系列| 久久综合给合久久狠狠狠97色69| 久久精品一级爱片| 欧美经典三级视频一区二区三区| 国产欧美一区二区三区鸳鸯浴| 国产精品嫩草影院av蜜臀| 一级日本不卡的影视| 日本欧美肥老太交大片| 国产一区二区在线观看视频| 99久久精品国产导航| 欧美日韩高清一区二区不卡| 精品裸体舞一区二区三区| 国产精品久久久久久户外露出| 一区二区高清免费观看影视大全 | 男人的j进女人的j一区| 日韩高清国产一区在线| 亚洲综合久久久久| 奇米影视一区二区三区| 国产在线精品国自产拍免费| 国产91精品免费| 在线国产亚洲欧美| 欧美电影免费观看高清完整版| 亚洲国产精品高清| 亚洲国产美女搞黄色| 精品亚洲porn| 在线视频一区二区免费| 精品国产一区二区三区av性色| 国产精品水嫩水嫩| 五月天视频一区| 高清免费成人av| 欧美久久久久免费| 中文字幕av一区 二区| 日一区二区三区| 成人网男人的天堂| 欧美电影影音先锋| 国产精品久久二区二区| 日韩国产欧美在线视频| 国产福利91精品一区| 91豆麻精品91久久久久久| xfplay精品久久| 视频一区欧美日韩| 成人福利视频在线| 精品精品国产高清一毛片一天堂| 亚洲欧美日韩一区| 国产真实乱偷精品视频免| 欧美怡红院视频| 国产精品久久三| 国产一区欧美二区| 国产精品免费aⅴ片在线观看| 亚洲超碰精品一区二区| 成人福利视频在线看|