권장 : ASP.NET AJAX에서 예외 처리에 대해 최근에 프로젝트를 진행할 때 ASP.NET Ajax를 많이 적용했습니다. UpdatePanel의 비동기 업데이트 모드에서 배경 처리 중에 발생하는 예외는 클라이언트의 인터페이스가 변경되지 않지만 경고 모드에서 예외 정보를 직접 팝업합니다. 그래서 나는 배경이 요구 사항을 충족하지 않는 입력을 감지 할 때 게으르고 직접 실수를했습니다.
ASP의 20 가지 매우 유용한 팁 :
1. ASP를 사용하여 웹 사이트의 가상 물리적 경로를 결정하는 방법
답 : Mappath 방법을 사용하십시오
<p align = center> <font size = 4 face = arial> <b>
이 가상 웹 사이트의 물리적 경로는 다음과 같습니다.
< /b> < /font>
<font color =#ff0000 크기 = 6 얼굴 = arial>
< % = server.mappath (/) %>
< /font> < /p>
2. 사용자가 사용하는 브라우저를 어떻게 알 수 있습니까?
답 : 요청 객체 메소드를 사용하십시오
strbrowser = request.servervariables (http_user_agent)
악기 (strbrowser, msie) <> 0 인 경우
Response.Redirect (formsieonly.htm)
또 다른
Response.redirect (forall.htm)
끝 If
3. 하루 평균 반복 방문 수를 계산하는 방법
답 : 해결책
< % startdate = datediff (d, 지금, 01/01/1990)
strdate <0이면 startDate = startDate*-1입니다
avgvpd = int ((usercnt)/startDate) %>
결과를 보여줍니다
< % response.write (avgvpd) %>
이 페이지는 1998 년 11 월 10 일부터 보았습니다.
4. 임의의 이미지를 표시하는 방법
< % dim p, ppic, dpic
PPIC = 12
무작위 화
p = int ((ppic*rnd) 1)
dpic = Graphix/Randompics/& p & .gif
%>
보여주다
<img src = < % = dpic %>>
5. 이전 페이지로 돌아가는 방법
답변 : <a href = < % = request.servariables (http_referer) % >> preivous page < /a>
또는 다음과 같은 이미지를 사용하십시오. <img src = arrowback.gif alt = < % = request.servervariables (http_referer) %>>>>>>>>>>
6. 상대방의 IP 주소를 결정하는 방법
답 : < % = request.servariables (remote_addr) %>
7. 사진에 링크하는 방법
답 : < % @languages = vbscript %>
< % response.expires = 0입니다
strimagename = graphix/errors/erroriamge.gif
Response.Redirect (strimagename)
%>
8. 강제 암호 입력 대화 상자
답 : 페이지 시작 부분 에이 문장을 넣으십시오.
< % response.status = 401 승인되지 않았습니다
응답. 엔드
%>
9. 변수를 한 페이지에서 다른 페이지로 전달하는 방법
답 : 숨겨진 유형을 사용하여 변수를 전달하십시오
< % form method = post action = mynextpage.asp>
request.form %>의 각 항목에 대해 < %
<입력 이름 = < % = 항목 %> 유형 = 숨겨집니다
값 = < % = server.htmlencode (request.form (item)) %>>
< % next %>
< /form>
10. 왜 ASP 프로그램에서 msgbox를 사용합니까? 프로그램 오류에 따르면 허가가 없다고합니다
답변 : ASP는 서버에서 실행되므로 서버에 대화 상자를 표시 할 수있는 경우 프로그램이 계속 실행되기 전에 누군가가 확인을 누를 때까지 기다려야합니다. 일반적으로 서버에는 아무도 없으므로 Microsoft는이 기능을 금지하고 허가가 없다고 무작위로 알려야합니다 (Haha). 그러나 ASP 및 클라이언트 스크립트는 다음과 같이 대화 상자를 표시 할 수 있습니다.
11. 소스 코드를 보호하고 사람들이 그것을 볼 수없는 방법이 있습니까?
A : ASP 스크립트와 클라이언트 JavaScript/VBScript 스크립트를 암호화 할 수있는 Microsoft Windows 스크립트 인코더를 다운로드 할 수 있습니다. . . 그러나 클라이언트가 암호화 된 후 IE5 만 실행할 수 있습니다. 서버가 암호화 된 후 스크립트 엔진 5가 서버에 설치된 경우에만 (IE5를 설치할 수 있음).
12. 한 ASP 파일에서 다른 파일로 쿼리 문자열을 전송하려면 어떻게해야합니까?
답변 : 이전 파일은 다음 문장을 추가합니다. response.redirect (second.asp? & request.servervariables (query_string))
13. Global.asa 파일은 항상 작동하지 않습니까?
답변 : 웹 디렉토리가 웹 응용 프로그램으로 설정된 경우에만 Global.asa는 유효하며 Global.asa는 웹 응용 프로그램의 루트 디렉토리에서 유효합니다. IIS4는 인터넷 서비스 관리자를 사용하여 응용 프로그램 설정을 설정할 수 있습니다. HTM 파일은 어떻게 ASP 파일처럼 스크립트 코드를 실행할 수 있습니까?
14. HTM 파일이 ASP 파일처럼 스크립트 코드를 어떻게 실행할 수 있습니까?
답변 : 인터넷 서비스 관리자 -> 기본 웹 사이트 -> 오른쪽 마우스 버튼 -> 메뉴 속성 -> 홈 디렉토리 -> 응용 프로그램 설정 -> 클릭 버튼 구성 -> 앱 매핑 -> 클릭 버튼 추가 -> 실행 가능한 브라우저 선택 /winnt/system32/inetsrv/asp.dll extension htm method excclions Enth Enting Putt.Delete는 모든 것을 확인합니다. 그러나 이런 식으로 효율성이 줄어들 것입니다.
15. 구성 요소를 등록하는 방법
답 : 두 가지 방법이 있습니다.
첫 번째 방법 : 수동으로 DLL을 등록 하여이 방법은 IIS 3.0에서 IIS 4.0 및 기타 웹 서버로 사용됩니다. 명령 줄에서 실행하고 DLL이 포함 된 디렉토리를 입력하고 다음을 입력해야합니다. regsvr32 component_name.dll 예를 들어 C :/temp/regsvr32 aspemail.dll은 DLL의 특정 정보를 서버의 레지스트리에 등록합니다. 이 구성 요소는 서버에서 사용할 수 있지만이 방법에는 결함이 있습니다. 이 메소드를 사용하여 구성 요소를 등록한 후 구성 요소는 해당 익명 계정을 NT로 설정 하여이 DLL을 실행할 권한이 있어야합니다. 특히 일부 구성 요소는 레지스트리를 읽어야하므로 구성 요소를 등록하는 방법은 서버에 MT가없는 경우 사용하는 것입니다. 이 dll을 등록 시키려면 : regsvr32 /u aspobject.dll 예제 c : /temp /regsvr32 /u aneiodbc.dll
두 번째 방법 : MTS (Microsoft Transaction Server) MTS 사용은 IIS 4의 새로운 기능이지만 큰 개선을 제공합니다. MTS를 사용하면 권한이있는 사용자 만 구성 요소에 액세스 할 수 있도록 웹 사이트 서버의 보안 설정을 크게 향상시킬 수 있습니다. MT에 구성 요소를 등록하는 단계는 다음과 같습니다.
1) IIS 관리 콘솔을 엽니 다.
2) 트랜잭션 서버를 확장하고 설치된 PKGS를 마우스 오른쪽 단추로 클릭하고 새 패키지를 선택하십시오.
3) 빈 패키지 만들기를 클릭하십시오.
4) 패키지의 이름을 지정하십시오.
5) 관리자 계정을 지정하거나 대화식을 사용합니다 (서버가 종종 관리자에 로그인하는 경우).
6) 이제 방금 만든 패키지 아래의 확장 된 구성 요소를 마우스 오른쪽 버튼으로 클릭하십시오. 새로운 구성 요소를 선택하십시오.
7) 새 구성 요소 설치를 선택하십시오.
8) .dll 파일을 찾아서 옆으로 선택하십시오.
이 객체를 삭제하려면 아이콘을 선택하고 삭제를 선택하십시오.
참고 : 두 번째 방법에 특별한주의를 기울입니다.이 방법은 매번 기계를 다시 시작하지 않고 작성하는 구성 요소를 디버깅하는 가장 좋은 방법입니다.
16. ASP를 액세스하려면 ASP를 연결하십시오.
Dim Conn, mdbfile
mdbfile = server.mappath (database name.mdb)
set conn = server.createobject (adodb.connection)
Conn.open 드라이버 = {Microsoft Access Driver (*.mdb)}; uid = admin; pwd = 데이터베이스 암호; dbq = & mdbfile
17. SQL 데이터베이스에 ASP를 연결하십시오.
Dim Conn
set conn = server.createobject (adodb.connection)
con.open; 공급자 = sqloledb; data source = sql server name 또는 ip 주소; uid = sa; pwd = 데이터베이스 암호; 데이터베이스 = 데이터베이스 이름
레코드 세트 객체 생성 :
set rs = server.createobject (adodb.recordset)
Rs. Open SQL 문, Conn, 3,2
18. 공통 SQL 명령 사용 방법 :
(1) 데이터 레코드 필터링 :
SQL = 선택 * 필드 이름 = 필드 값 순서에서 필드 이름 [DESC]
SQL = 선택 * 필드 이름과 같은 필드 값이 필드 이름으로 필드 이름으로 주문 *에서 선택하십시오 [desc]
SQL = 필드 이름으로 필드 이름 주문 [DESC]에 따라 데이터 테이블에서 상위 10 * 선택을 선택하십시오.
SQL = 선택 * 필드 이름이있는 데이터 테이블에서 (값 1, 값 2, 값 3)
SQL = 값 1과 값 2 사이의 필드 이름 인 데이터 테이블에서 선택 * 선택 *
(2) 데이터 기록 업데이트 :
SQL = 업데이트 데이터 테이블 세트 필드 이름 = 필드 값 조건 표현식
SQL = 업데이트 데이터 테이블 세트 필드 1 = 값 1, 필드 2 = 값 2 ... 필드 n = 값 n 조건방 표현식
(3) 데이터 레코드 삭제 :
SQL = 조건부 표현식이있는 데이터 테이블에서 삭제됩니다
SQL = 데이터 테이블에서 삭제 (데이터 테이블의 모든 레코드 삭제)
(4) 데이터 기록 추가 :
SQL = 데이터 테이블에 삽입 (필드 1, 필드 2, 필드 3…) Valuess (값 1, 값 2, 값 3…)
SQL = 대상 데이터 테이블에 삽입 * 소스 데이터 테이블에서 * 소스 데이터 테이블의 레코드 추가 대상 데이터 테이블에 추가)
(5) 데이터 레코드 통계 기능 :
테이블 열의 평균 값을 얻으려면 avg (필드 이름)
카운트 (*| 필드 이름) 데이터 행 수에 대한 통계 또는 특정 열에 값이있는 데이터 행 수에 대한 통계
MAX (필드 이름) 테이블 열의 최대 값을 가져옵니다.
최소 (필드 이름) 테이블 열의 최소값을 가져옵니다.
sum (필드 이름) 데이터 열의 값을 추가합니다.
위의 함수 방법을 참조하십시오.
SQL = 조건부 표현식 인 데이터 테이블에서 별명으로 합 (필드 이름)을 선택합니다.
set rs = conn.excute (SQL)
RS (별칭)를 사용하여 통계를 받고 다른 기능은 위와 동일하게 사용됩니다.
(5) 데이터 테이블의 설정 및 삭제 :
테이블 데이터 테이블 이름 만들기 (필드 1 유형 1 (길이), 필드 2 유형 2 (길이)…)
예 : 테이블 탭 생성 (이름 varchar (50), datetime default now ())
테이블 데이터 테이블 이름 드롭 이름 (데이터 테이블 영구 삭제)
19. 레코드 세트 객체의 방법 :
rs.movenext 레코드 포인터를 현재 위치에서 한 줄 아래로 이동합니다.
rs.moveprevious는 레코드 포인터를 현재 위치에서 한 줄로 이동합니다.
Rs.MoveFirst 레코드 포인터를 데이터 테이블의 첫 번째 행으로 이동
Rs.Movelast는 레코드 포인터를 데이터 테이블의 마지막 행으로 이동합니다.
rs.AbsolutePosition = n 데이터 테이블의 레코드 포인터를 행 N로 이동
rs.AbsolutePage = n 레코드 포인터를 첫 번째 줄 n으로 이동
rs.pagesize = n 각 페이지를 n 레코드로 설정합니다
Rs.PageCount Pagesize 설정에 따라 총 페이지 수를 반환합니다.
Rs.RecordCount는 총 레코드 수를 반환합니다
Rs.Bof는 레코드 포인터가 데이터 테이블의 헤드를 초과하는지 여부를 반환합니다. 진실은 예, 거짓은 아니오입니다
rs.eof 레코드 포인터가 데이터 테이블의 끝을 초과하는지 여부를 반환합니다. True는 예, 거짓은 아니오입니다.
Rs.Delete는 현재 레코드를 삭제하지만 레코드 포인터는 아래쪽으로 이동하지 않습니다.
rs.addnew 데이터 테이블의 끝에 레코드 추가
Rs. Update 업데이트 데이터 테이블 레코드
----------------------------------------------
20 레코드 세트 객체 메소드
열린 방법
레코드 세트. 소스를 열고, 활성화, 커서 타입, 잠금 장치, 옵션
원천
레코드 세트 객체는 소스 속성을 통해 명령 객체에 연결할 수 있습니다. 소스 매개 변수는 명령 개체 이름, SQL 명령, 지정된 데이터 테이블 이름 또는 저장 프로 시저 일 수 있습니다. 이 매개 변수가 생략되면 시스템은 레코드 세트 객체의 소스 속성을 사용합니다.
활성화
레코드 세트 객체는 ActiveConnection 속성을 통해 연결 객체에 연결할 수 있습니다. 여기서 ActiveConnection은 연결 객체 또는 데이터베이스 연결 정보 (ConnectionString)를 포함하는 문자열 매개 변수 일 수 있습니다.
커서 타입
RecordSet 객체의 열린 메소드의 커서 타입 매개 변수는 AdopenForwardOnly, AdopenKeyset, AbonicalDynamic 및 Adopenstatic을 포함하여 데이터를 시작할 커서 유형을 나타냅니다.
---------------------------------------------------------------------
상수 상수 값 설명
----------------------------------------------------------------------------------
AdopenForwardOnly 0 기본값은 앞으로 전진 할 수있는 커서를 시작합니다 (앞으로 만).
AdopenKeyset 1은 키 세트 유형 커서를 시작합니다.
AbonseDynamic 2 동적 유형 커서를 시작하십시오.
채택 된 3은 정적 유형 커서를 시작합니다.
----------------------------------------------------------------------------------
위의 커서 유형은 레코드 세트 객체의 모든 속성과 방법에 직접 영향을 미칩니다. 다음 목록은 그들 사이의 차이점을 설명합니다.
----------------------------------------------------------------------------------
RecordSet Property AdoperwardOnly Abonsidenkyset Adopendynamic 입양
----------------------------------------------------------------------------------
AbsolutePage는 읽기 가능하고, 쓰기 가능하며, 읽기 쉬운, 쓰기 가능하지 않습니다
AbsolutePosition은 읽기 가능하고, 쓰기 가능하고, 읽기 쉽고, 쓰기 가능하지 않습니다
ActiveConnection 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능
BOF 읽기 전용 읽기 전용 읽기 전용 읽기 전용
북마크는 읽기 가능하고, 쓰기 가능하고, 읽기 쉬운, 쓰기 가능하지 않습니다
캐시 크기 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능
Cursorlocation 읽기 가능하고, 쓰기 가능하고, 읽기 쉽고, 쓰기 가능, 읽을 수 있고, 쓰기 가능, 읽기 가능, 쓰기 가능
Cursortype 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능
editMode 읽기 전용 읽기 전용 읽기 전용 읽기 전용
읽기 전용 읽기 전용 읽기 전용 읽기 전용
필터 읽기 가능하고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능, 읽기 가능, 쓰기 가능
Locktype 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능, 읽기 가능, 쓰기 가능
Marshaloptions 읽기 가능하고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능
MaxRecords 읽기 가능하고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능
PageCount는 읽기 전용 읽기 전용을 지원하지 않습니다
Pagesize 읽기 가능하고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능하고, 읽기 쉽고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능합니다
RecordCount는 읽기 전용 읽기 전용을 지원하지 않습니다
소스 읽기 가능하고, 쓰기 가능하고, 읽기 쉽고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능하고, 읽을 수 있고, 쓰기 가능
상태 읽기 전용 읽기 전용 읽기 전용 읽기 전용
상태 읽기 전용 읽기 전용 읽기 전용 읽기 전용
추가 지원 지원 지원 지원
취소 지원 지원 지원 지원
CANCELUPDATE 지원 지원 지원 지원
클론은 그것을 지원하지 않거나 지원하지 않습니다
긴밀한 지원 지원 지원 지원
지원 지원 지원 지원 삭제
GetRows는 지원 지원 지원 지원입니다
Move는 지원 지원 지원을 지원하지 않습니다
MoveFirst 지원 지원 지원 지원
Movelast는 지원 지원 지원을 지원하지 않습니다
Movenext 지원 지원 지원 지원
MovePrevious 지원 지원 지원 지원 지원
NexTrecordset 지원 지원 지원 지원
공개 지원 지원 지원 지원
Requery 지원 지원 지원 지원
RESYNC는 지원 지원 지원을 지원하지 않습니다
지원 지원 지원
지원 지원 지원 지원 업데이트
업데이트 배치 지원 지원 지원 지원
---------------------------------------------------------------------
NexTrecordset 메소드는 Microsoft Access 데이터베이스에 적용되지 않습니다.
Locktype
레코드 세트 객체의 열린 메소드의 LockType 매개 변수는 채택 할 잠금 유형을 나타냅니다. 이 매개 변수가 무시되면 시스템은 RecordSet 객체의 LockType 속성을 사전 설정 값으로 사용합니다. LockType 매개 변수에는 adlockreadonly, adlockprssimistic, adlockoptiomistic 및 adlockbatchoptomistic 등이 포함되며 다음과 같이 설명됩니다.
----------------------------------------------------------------------------------
상수 상수 값 설명
---------------------------------------------------------------------
adlockreadonly 1 기본값, 레코드 세트 객체는 읽기 전용 모드에서 시작되며 AddNew, Update, Delete 및 기타 메소드를 실행할 수 없습니다.
adlockprssimistic 2 데이터 소스가 업데이트 될 때 시스템은 데이터 일관성을 유지하기 위해 다른 사용자의 작업을 일시적으로 잠그십시오.
adlockoptimistic 3 데이터 소스가 업데이트 될 때 시스템은 다른 사용자의 작업을 잠그지 않습니다. 다른 사용자는 데이터를 추가, 삭제 및 수정할 수 있습니다.
adlockbatchoptomitist 4 데이터 소스가 업데이트 될 때 다른 사용자는 커서로 위치 속성을 Adudeclientbatch로 변경하여 데이터를 늘려야합니다.
삭제 및 수정* 작업.
공유 : ASP 프로그래머는 지식이 있어야합니다 데이터베이스 연결 : % set set set set conn = server.createObject (adodb.connection) conn.open driver = {microsoft access driver ( * .mdb)}; dbq = server.mappath (database name) % 데이터베이스 열기 : exec = select * from database table set rs = server.createobject (adodb.record)