ASP.NET 필기 컨트롤 과 모판 의 차이 점 분석

12306 단어 ASP.NET컨트롤모판
1.ASP.NET 의 좋 은 단점
CodeBehind:"전 aspx 후 cs"모드,(1,aspx(컨트롤 정의,html,css)제어 페이지 생김새,cs 제어 프로그램 논리 aspx 는 템 플 릿 엔진 입 니 다.제3자 템 플 릿 엔진 을 찾 을 필요 가 없습니다.

2、

Literal:Mode 속성,XSS 공격 피하 기
TextBox:AutopostBack=true 초점 이 Textbox 에서 폼 을 제출 합 니 다.ASP.NET 에 서 는 submit 대신 호출doPost Back 방법 제출 폼 TestChanged 이벤트 협조 Autopost Back 클릭 하여 자동 제출 폼 업데이트 입력 텍스트
버튼:OnCLientClickreturn 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][TuserInfo] ([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.Required FieldVal:어떤 컨트롤 과 디 스 플레이 이름 을 설정 합 니까?(그리고 CausesValdation 초점 이동)-빈 초기 값 입 니 다:InitleValue(키 워드 를 입력 하 십시오.드 롭 다운 상자 의 초기 값 포함)

Validator 공통성!!!!!!!!!!!!if(!IsValid){return;}if(this.IsValid){//클 라 이언 트 검사 건 너 뛰 기 방지 IsValid 는 페이지 의 모든 Validator 가 label 1.Text="을 통 과 했 는 지 여부 입 니 다.}else{label 1.text="클 라 이언 트 작성 이 부족 하거나 오류 가 있 습 니 다";}


ValidstionGroup 그룹(폼 은 페이지 내 단일 그룹 에서 제출 할 수 있 으 며 다른 그룹 과 는 관련 이 없습니다)단추 와 같은 name
(2.RangeValidator:범위 검증 최대 최소 비교    날짜.Now.()baidu 아래

(3.Required FieldValidator 만 필드 가 비어 있 는 지 검증 할 수 있 습 니 다.
(4.CompareValidator:비교 검증(유형 검사,다른 컨트롤 과 비교,)       controlToCompare 를 비교 할 컨트롤 로 설정 합 니 다.

RegularExpression:
VaildationExpression 정규 표현 식 검증
CustomVaildate 사용자 정의 컨트롤 검증
ServerValidate 서버 검사 코드 Client VlidtionFunction

(5.ValidationSummary 는 오류 정보 text 와 Errormsg 의 차 이 를 모 았 습 니 다.Errormsg 는 ValidationSummary 에 사용 되 고 text 는 검증 컨트롤 위치 에 직접 표 시 됩 니 다.


 
 모판:
//템 플 릿 페이지 를 조작 하 는 컨트롤 Button btn=(Button)this.Master.FindControl("Button 1");btn.Visible=!btn.Vissble;
this.Master.Mapath();
가상 경로 가 클 라 이언 트 접근 경로 로 전 환 됩 니 다(서버 컨트롤 이 아 닙 니 다):src="<%=ResolveClient Url%>"
this.ResolveClientUrl();ResolveClient Url:현재 페이지 의 경 로 를 고려 합 니 다 ResolveUrl:뿌리 에서 시작 하 는 경 로 를 만 듭 니 다.

좋은 웹페이지 즐겨찾기