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

主頁 > 知識(shí)庫 > ASP.NET筆記之 控件與母板的區(qū)別分析

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

熱門標(biāo)簽:濟(jì)源人工智能電話機(jī)器人價(jià)格 杭州智能電話機(jī)器人 廈門四川外呼系統(tǒng) 內(nèi)蒙古智能電銷機(jī)器人哪家強(qiáng) 地圖標(biāo)注位置多的錢 怎樣在地圖標(biāo)注消火栓圖形 山東防封電銷卡辦理套餐 泰州手機(jī)外呼系統(tǒng)軟件 百度地圖標(biāo)注點(diǎn)擊事件

1、ASP.NET的好壞處

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

2、

Literal:
Mode屬性,避免XSS攻擊

TextBox:
AutopostBack=true 焦點(diǎn)離開Textbox提交表單
ASP.NET中經(jīng)常不直接調(diào)用submit而是調(diào)用_doPostBack方法提交表單
TestChanged事件配合AutopostBack可以點(diǎn)擊submit自動(dòng)提交表單更新輸入文本

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

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

4、

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

HyperLink:引用站內(nèi)內(nèi)部資源的時(shí)候很方便(自動(dòng)轉(zhuǎn)換路徑)
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、實(shí)例:注冊(cè)界面

Register.aspx

復(fù)制代碼 代碼如下:

 %@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="登陸注冊(cè).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>
                    密碼強(qiáng)度:
                    span id="spanPassWord" >/span>
                /td>
            /tr>

            tr>
                td>
                    asp:Label ID="Label3" runat="server" Text="重復(fù)輸入密碼">/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="注冊(cè)"
                        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>注冊(cè)用戶/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 {
                    //含有數(shù)字、字母
                    var check = /\w/;
                    if (check.test(str)) {
                        $("#spanPassWord").text("強(qiáng)");
                    }
                    else {
                        $("#spanPassWord").text("中");
                    }
                }

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


Register.apsx.cs
復(fù)制代碼 代碼如下:

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

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

         }

         protected void btnRegister_Click(object sender, EventArgs e)
         {
             //服務(wù)器版測(cè)試是否符合要求:郵箱餓壞密碼
             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 = "用戶名重復(fù),請(qǐng)重新輸入!";
                 return;
             }
             long userId=Convert.ToInt64(adapter.InsertUser(txtUserName.Text, txtPassWord.Text,
                 txtEmail.Text));
             //讀取Session登陸信息
             Session["登陸ID"] = userId;
             Session["登陸標(biāo)記"] = true;
             //設(shè)置可以傳參數(shù)的公共跳轉(zhuǎn)頁面
             //作用1:告訴用戶注冊(cè)成功,作用2:防止用戶點(diǎn)擊刷新重復(fù)提交數(shù)據(jù)
             Response.Redirect("target.aspx?Msg=注冊(cè)成功即將轉(zhuǎn)向登陸界面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 = "用戶名重復(fù),請(qǐng)重新輸入!";
             }
             else{
                 errorMsg.Visible = false;
             }
         }
     }
 }

其中要用到的正則表達(dá)式:

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

(1、增加SQL語句,

(2、增加一個(gè)output Insert.Id 在Insert語句當(dāng)中
(3、設(shè)置ExecuteMode屬性為Scalar

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

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

8、驗(yàn)證控件

(1、 RequiredFieldVal:
設(shè)置哪個(gè)控件和顯示名稱(還有CausesValdation焦點(diǎn)移開) -----為空
初始值:InitleValue(請(qǐng)輸入關(guān)鍵字、包括下拉框的初始值)

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

ValidstionGroup 分組(表單可以在頁面內(nèi)單個(gè)組提交,而不關(guān)聯(lián)其他組)相同于按鈕的name

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

(3、只有RequiredFieldValidator可以對(duì)字段為空進(jìn)行驗(yàn)證

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

RegularExpression:

VaildationExpression 正則表達(dá)式驗(yàn)證

CustomVaildate自定義控件驗(yàn)證

ServerValidate服務(wù)端校驗(yàn)代碼
ClientVlidtionFunction

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

 

 母版:

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

this.Master.Mapath();

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

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

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

標(biāo)簽:朔州 百色 洛陽 朝陽 周口 喀什 臺(tái)州 新鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET筆記之 控件與母板的區(qū)別分析》,本文關(guān)鍵詞  ASP.NET,筆記,之,控件,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET筆記之 控件與母板的區(qū)別分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET筆記之 控件與母板的區(qū)別分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲成人动漫一区| 日韩不卡手机在线v区| 亚洲成人7777| 国产在线不卡一卡二卡三卡四卡| 色综合天天综合色综合av| 精品日韩99亚洲| 日韩精品国产精品| 在线观看视频91| 国产精品国产自产拍高清av王其| 日韩和的一区二区| 色综合色狠狠综合色| 亚洲国产成人私人影院tom| 奇米一区二区三区av| 在线观看视频91| 亚洲精品国产视频| 一本一道综合狠狠老| 亚洲欧洲av在线| 不卡的电视剧免费网站有什么| 精品人伦一区二区色婷婷| 日韩福利电影在线| 91麻豆精品国产91久久久使用方法| 一区二区三区四区蜜桃| 色综合久久久久久久久久久| 国产精品美女一区二区三区| 成人黄色av电影| 国产精品视频一区二区三区不卡| 国产麻豆精品在线| 国产日韩欧美一区二区三区乱码| 精品一区二区在线播放| 欧美mv日韩mv国产| 国产一区二区三区国产| 日本一区二区综合亚洲| 成人丝袜高跟foot| 亚洲欧洲综合另类| 色94色欧美sute亚洲13| 亚洲图片自拍偷拍| 日韩一级黄色片| 国模娜娜一区二区三区| 欧美经典三级视频一区二区三区| 国产a视频精品免费观看| 国产精品欧美久久久久无广告| 国产成人av在线影院| 国产精品萝li| 91久久精品国产91性色tv| 亚洲va欧美va人人爽午夜 | 91精品欧美福利在线观看| 婷婷久久综合九色综合绿巨人| 91精品国产91久久综合桃花| 美腿丝袜在线亚洲一区| 国产欧美日韩在线| 欧美专区在线观看一区| 日本伊人色综合网| 国产欧美日韩卡一| 欧美亚洲国产一区二区三区| 亚洲国产日韩a在线播放性色| 538在线一区二区精品国产| 精品一区二区三区免费毛片爱| 欧美激情在线观看视频免费| 一本到一区二区三区| 九九**精品视频免费播放| 国产精品嫩草影院av蜜臀| 8x8x8国产精品| 99久久精品国产麻豆演员表| 日韩精品亚洲一区| 精品国产三级电影在线观看| 激情欧美日韩一区二区| 国产精品嫩草99a| 欧美丰满嫩嫩电影| 99精品偷自拍| 狠狠色狠狠色综合| 一级女性全黄久久生活片免费| 日韩精品一区二区三区在线播放 | 国产精品久久久久天堂| 欧美日韩一区精品| 国产精品一级二级三级| 亚洲国产一区二区a毛片| 亚洲国产精品成人久久综合一区| 在线免费观看日韩欧美| 成人综合日日夜夜| 美腿丝袜一区二区三区| 国产精品不卡一区| 欧美在线综合视频| 欧美日韩三级一区| 久久久久久久一区| 国产美女精品人人做人人爽| 亚洲主播在线观看| 久久久久9999亚洲精品| 欧美一级免费大片| 日本电影欧美片| 成人av影视在线观看| 久久97超碰国产精品超碰| 性感美女久久精品| 亚洲精品国产无套在线观 | 99久久久久久| 国产一区二区0| 人人超碰91尤物精品国产| 伊人夜夜躁av伊人久久| 最新成人av在线| 国产精品久久久久久久久免费丝袜 | 欧美自拍偷拍一区| 亚洲精品一区二区三区影院| 日本91福利区| 亚洲一区二区在线免费看| 亚洲美女偷拍久久| 中文字幕在线免费不卡| 亚洲丝袜制服诱惑| 国产精品成人在线观看| 国产精品国产自产拍高清av王其| 久久精品亚洲国产奇米99| 久久久亚洲精品一区二区三区 | 欧美韩日一区二区三区| 精品日韩一区二区三区| 久久综合色一综合色88| 久久蜜臀精品av| 久久久五月婷婷| 国产欧美日产一区| 亚洲视频1区2区| 性久久久久久久久久久久| 全部av―极品视觉盛宴亚洲| 日本大胆欧美人术艺术动态| 久久电影国产免费久久电影| 狠狠色丁香久久婷婷综| 国产69精品久久99不卡| 91亚洲永久精品| 欧美日韩亚洲综合在线 | 精品国产污网站| 欧美男男青年gay1069videost| 欧美精品三级在线观看| 91精品国产乱码久久蜜臀| 日韩一区二区三区免费看| 精品国产污污免费网站入口| 中文字幕第一区二区| 亚洲欧美日韩电影| 天天影视涩香欲综合网 | 色呦呦国产精品| 欧美精品日日鲁夜夜添| 久久精品在线免费观看| 亚洲免费毛片网站| 日韩电影在线免费| 成人av在线资源网| 色婷婷综合久色| 精品毛片乱码1区2区3区| 亚洲欧洲精品一区二区精品久久久 | 九九视频精品免费| 91在线视频在线| 亚洲成在人线免费| 99在线视频精品| 国产成人日日夜夜| 92精品国产成人观看免费| 欧美精品丝袜久久久中文字幕| 2023国产精品自拍| 一个色综合网站| 丰满放荡岳乱妇91ww| 欧美日韩一区二区欧美激情| 久久综合网色—综合色88| 亚洲电影激情视频网站| 成人性视频网站| 精品日韩欧美在线| 亚洲一二三区视频在线观看| 国产激情视频一区二区三区欧美| 在线亚洲人成电影网站色www| 精品国产乱码久久久久久浪潮 | 成人av一区二区三区| 日韩一级片在线观看| 夜夜夜精品看看| 国产 日韩 欧美大片| 日韩视频一区二区| 亚洲va国产va欧美va观看| 91影院在线免费观看| 久久九九国产精品| 久久超碰97人人做人人爱| 欧美人与禽zozo性伦| 亚洲欧美日韩国产另类专区| 国产成人一区二区精品非洲| 精品免费日韩av| 久久国产剧场电影| 欧美一区二区在线不卡| 亚洲妇女屁股眼交7| 91日韩一区二区三区| 中文字幕av在线一区二区三区| 久久精品久久精品| 日韩欧美激情四射| 日本美女一区二区| 91麻豆精品91久久久久久清纯| 亚洲成人自拍网| 欧美日本一区二区在线观看| 一区二区在线观看不卡| 色哟哟亚洲精品| 亚洲欧美另类综合偷拍| 色婷婷av一区二区三区大白胸 | 国产美女在线观看一区| 精品国产一区二区三区忘忧草| 日韩国产一二三区| 欧美日韩国产123区| 天堂久久一区二区三区| 欧美精品xxxxbbbb| 日本在线不卡一区| 久久亚洲捆绑美女| 极品美女销魂一区二区三区| 久久九九99视频|