ASP.NET 페이지 간 전달 값 의 몇 가지 방식 을 열거 합 니 다.
1).QueryString 을 사용 합 니 다.예 를 들 어...?id=1; response. Redirect()....
2).세 션 변 수 를 사용 합 니 다
3).Server.Transfer 사용
페이지 사이 에 변수 내용 을 전달 하기 위해 서 ASP.NET 은 우리 에 게 몇 가지 선택 을 해 주 었 습 니 다.한 가지 선택 은 QueryString 속성 을 사용 합 니 다.
1:QueryString.검색 문자열 로 웹 페이지 를 요청 할 수 있 습 니 다.ASP.NET 의 Query String 이 이 정 보 를 방문 합 니 다.file.html 를 불 러 올 때?x=y 일 때'x'와'y'를 해석 합 니 다.우선,사용자 가 Default.aspx 에 접근 할 때 실행 되 는.aspx 웹 창 페이지 를 보 았 습 니 다.이 코드 는 코드 숨 김 부분 Default.aspx.cs 입 니 다.
URL 의 끝 에 문자열 을 추가 해 보 시 겠 습 니까?param = dotnet ”。Response.Write 가 실 행 됩 니 다.
기반:.NET QueryString 예제:C#
using System;
using System.Web.UI;
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string v = Request.QueryString["param"];
if (v != null)
{
Response.Write("param is ");
Response.Write(v);
}
}
}
결과,Page 인쇄 param 조회 의 값 입 니 다.이 값 은 문자열 값 입 니 다:param is dotnet.두 개의 인자.계속 하려 면 두 개의 검색 문자열 URL 인 자 를 테스트 합 니 다.이것 은 개발 에서 상당히 보편적 인 요구 이다.그 중 하나 나 두 개 를 동시에 사용 해 야 할 수도 있 습 니 다.
여러 개의 인자 가 있 는 Query String 예제:C#1
using System;
using System.Web.UI;
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string v = Request.QueryString["param"];
if (v != null)
{
Response.Write("param is ");
Response.Write(v);
}
string x = Request.QueryString["id"];
if (x != null)
{
Response.Write(" id detected");
}
}
}
테스트 코드 이 사이트 주소:?param=first&id=true
테스트 를 진행 하려 면 인터넷 브 라 우 저(예 를 들 어 Internet Explorer 나 Firefox)의 URL 끝 에 테스트 URL 을 입력 하 십시오.이 문자열 은"param"조 회 를"first"와 같이 지정 합 니 다.또한'id'인 자 는'true'와 같 습 니 다.Quote:키 나 인덱스 로 접근 할 수 있 는 관련 String 키 와 String 값 의 집합 입 니 다.
Query String 에서 HasKeys 페이지 사용 하기:C#1
using System;
using System.Web.UI;
using System.Collections.Specialized;
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Get collection
NameValueCollection n = Request.QueryString;
//
if (n.HasKeys())
{
//
string k = n.GetKey(0);
string v = n.Get(0);
//
if (k == "param")
{
Response.Write("param is " + v);
}
if (k == "id")
{
Response.Write("id is " + v);
}
}
}
}
Request.QueryString 은 검색 문자열 의 위 치 를 사용 하여 이 값 을 검색 할 수 있 습 니 다.
private void Page_Load(object sender,
System.EventArgs e)
{
this.txtBox1.Text = Request.QueryString[0];
this.txtBox2.Text = Request.QueryString[1];
}
foreach( string s in Request.QueryString)
{
Response.Write(Request.QueryString[s]);
}
아니면
for (int i =0;i < Request.QueryString.Count;i++)
{
Response.Write(Request.QueryString[i]);
}
이런 방법의 결점
private void btnSubmit_Click(object sender, System.EventArgs e)
{
string p1 = this.txtName.Text.Replace("&","%26");
p1 = this.txtName.Text.Replace(" ","%20");
string p2 = this.txtLastName.Text.Replace("&","%26");
p2 = this.txtName.Text.Replace(" ","%20");
"WebForm2.aspx?" +
"Name=" + p1 +
"&LastName=" + p2;
Response.Redirect(p2);
}
Server.UrlEncode 도 사용 할 수 있 습 니 다.Server.UrlEncode 방법 은 문제 가 없 도록 검색 문자열 을 변경 합 니 다.
private void btnSubmit_Click(object sender, System.EventArgs e)
{
Response.Redirect("WebForm2.Aspx?" +
"Name=" + Server.UrlEncode(this.txtName.Text) +
"&LastName=" + Server.UrlEncode(this.txtLastName.Text));
}
2.Session&Cookie세 션 사용 이 간단 하고 간단 한 데이터 형식 뿐만 아니 라 대상 도 전달 할 수 있 습 니 다.데이터 크기 는 제한 되 지 않 습 니 다.Session 변수 에 대량의 데 이 터 를 저장 하면 서버 자원 이 많이 소 모 됩 니 다.잃 어 버 리 기 쉽다.원본 페이지 의 코드 에 전달 할 이름과 값 구조 Session 변 수 를 만 듭 니 다.Session["Name"]="Value(Or Object)";목적 페이지 의 코드 는 Session 변 수 를 사용 하여 전달 하 는 값 을 추출 합 니 다.Result=Session["Nmae"]주의:session 을 사용 하지 않 을 때 없 앨 수 있 습 니 다.없 애 는 방법 은:Session.Remove("session 이름")를 제거 하 는 것 입 니 다.모든 것 지우 기:Session.clear();
string city = "Seattle";
// Web
Session["City"] = city;
// Web 。
city = (string)(Session["City"]);
// Web , HttpContext.Current。
HttpContext context = HttpContext.Current;
context.Session["FirstName"] = firstName;
firstName = (string)(context.Session["FirstName"]);
Session 클래스 는 키 형식 문자열 과 값 형식 대상 과 유사 한 사전 입 니 다.이것 은 모든 종류의 변 수 를 저장 하고 나중에 이름 으로 참조 할 수 있 습 니 다.쿠키 란 무엇 입 니까?
쿠키 는 클 라 이언 트 의 시스템 이나 클 라 이언 트 브 라 우 저 메모리 에 만 든 작은 파일 입 니 다(임시 파일 이 라면).우 리 는 클 라 이언 트 시스템 에 작은 블록 정 보 를 저장 하고 필요 할 때 사용 할 수 있 습 니 다.가장 재 미 있 는 것 은 사용자 와 투명 하 게 일 하 는 것 이다.그것 은 웹 프로그램의 모든 위치 에서 쉽게 사용 할 수 있다.Cookies 는 일반 텍스트 형식 으로 정 보 를 저장 합 니 다.웹 프로그램 이 쿠키 를 사용 하면 서버 에서 쿠키 를 보 내 고 클 라 이언 트 브 라 우 저 는 이 를 저장 합 니 다.그리고 브 라 우 저 는 다음 요청 페이지 에서 쿠키 를 서버 에 되 돌려 줍 니 다.쿠키 를 사용 하 는 가장 흔 한 예 는 사용자 정 보 를 저장 하 는 것 입 니 다.사용자 의 첫 번 째 옵션,암호 기억 옵션 등 입 니 다.cookies 는 많은 장점 과 단점 이 있 습 니 다.
Cookies 는 어떻게 시 작 했 나 요?
클 라 이언 트 가 서버 에 요청 할 때 서버 는 쿠키 를 클 라 이언 트 에 보 냅 니 다.추가 요청 은 같은 쿠키 를 참조 할 수 있 습 니 다.예 를 들 어 codeprocject.com 이 세 션 ID 를 쿠키 로 저장 하면 클 라 이언 트 가 처음으로 서버 에 명중 하면 서버 는 세 션 ID 를 생 성하 여 쿠키 로 클 라 이언 트 에 보 냅 니 다.
브 라 우 저 와 웹 서버 는 쿠키 정 보 를 교환 하 는 것 을 책임 집 니 다.서로 다른 사이트 에 대해 브 라 우 저 는 서로 다른 방식 으로 쿠키 를 보존 합 니 다.만약 페이지 에 쿠키 정보 가 필요 하 다 면 이 URL 이 명중 되 었 을 때 먼저 로 컬 시스템 에서 쿠키 정 보 를 검색 한 다음 이 정 보 를 가 진 서버 로 이동 합 니 다.
Cookies 의 장점
다음은 웹 응용 프로그램 에서 쿠키 를 사용 하 는 주요 장점 입 니 다.
그것 의 사용 과 실현 은 매우 간단 하 다.
브 라 우 저 는 데 이 터 를 보 내 는 것 을 책임 집 니 다.
쿠키 를 포함 하 는 여러 사이트 에 대해 브 라 우 저 는 자동 으로 정렬 합 니 다.
쿠키 의 단점
그것 은 간단 한 텍스트 형식 으로 데 이 터 를 저장 하기 때문에 전혀 안전 하지 않다.
쿠키 데 이 터 는 크기 제한(4096 바이트/4KB)이 있 습 니 다.
허용 되 는 최대 쿠키 수량 도 제한 되 어 있 습 니 다.대부분의 브 라 우 저 는 쿠키 의 수량 을 20 으로 제한 합 니 다.새로운 쿠키 가 나타 나 면 오래된 쿠키 는 버 려 집 니 다.일부 브 라 우 저 는 최대 300 개 를 지원 한다.
쿠키 만 드 는 방법
쿠키 를 사용 하려 면 네 임 스페이스 System.web 을 사용 해 야 합 니 다.
방식 1(HttpCookies 클래스 사용)
HttpCookie StudentCookies = new HttpCookie("StudentCookies");
StudentCookies.Value = TextBox1.Text;
StudentCookies.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(StudentCookies);
방식 2(Response 직접 사용)
Response.Cookies["StudentCookies"].Value = TextBox1.Text;
Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1);
방식 3(같은 쿠키 의 여러 값)
Response.Cookies["StudentCookies"]["RollNumber"] = TextBox1.Text;
Response.Cookies["StudentCookies"]["FirstName"] = "Abhimanyu";
Response.Cookies["StudentCookies"]["MiddleName"] = "Kumar";
Response.Cookies["StudentCookies"]["LastName"] = "Vatsa";
Response.Cookies["StudentCookies"]["TotalMarks"] = "499";
Response.Cookies["StudentCookies"].Expires = DateTime.Now.AddDays(1);
코드 를 보고 쿠키 를 만 들 고 웹 응답 으로 추가 하 는 방법 을 보 세 요.만 든 쿠키 는 브 라 우 저가 닫 힐 때 까지 계속 존재 합 니 다.우 리 는 쿠키 를 꾸준히 사용 할 수 있다.
쿠키 에서 데 이 터 를 읽 는 방법
이제 쿠키 에서 데 이 터 를 검색 할 때 가 되 었 습 니 다.쿠키 를 읽 기 전에 먼저 쿠키 를 찾 았 는 지 확인 해 야 합 니 다.쿠키 를 읽 기 전에 쿠키 를 검사 하 는 것 은 좋 은 습관 입 니 다.브 라 우 저가 c ookie 를 사용 하지 않 을 수도 있 기 때 문 입 니 다.
string roll = Request.Cookies["StudentCookies"].Value; //For First Way
string roll = Request.Cookies["StudentCookies"].Value; //For Second Way
string roll;
roll = Request.Cookies["StudentCookies"]["RollNumber"];
roll = roll + " " + Request.Cookies["StudentCookies"]["FirstName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["MiddleName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["LastName"];
roll = roll + " " + Request.Cookies["StudentCookies"]["TotalMarks"];
Label1.Text = roll;
어떻게 쿠키 정 보 를 삭제 합 니까?저 희 는 쿠키 폴 더 에서 클 라 이언 트 기기 의 쿠키 정 보 를 삭제 할 수 있 습 니 다.
쿠키 대상 의 만 료 시간 설정
userInfo.Expires = DateTime.Now.AddHours(1);
그것 은 한 시간 안에 쿠키 를 제거 할 것 이다.3.신청 대상
애플 리 케 이 션 대상 의 역할 범 위 는 전체 국면 이다.즉,모든 사용자 에 게 효과 가 있다 는 것 이다.전체 프로그램의 수명 주기 에 유효 합 니 다.전역 변 수 를 사용 하 는 것 과 같 기 때문에 서로 다른 페이지 에서 액세스 할 수 있 습 니 다.이것 과 Session 변수의 차 이 는 전 자 는 모든 사용자 가 공유 하 는 전역 변수 이 고 후 자 는 각 사용자 만 의 전역 변수 이다.
예 를 들 어 사이트 방문 수.여러 요청 이 있 을 때 그것 을 조작 할 수 있 습 니 다.
장점:1.간단 하고 적은 서버 자원 을 사용 합 니 다.
2.간단 한 데 이 터 를 전달 할 수 있 을 뿐만 아니 라 대상 도 전달 할 수 있다.
3.데이터 크기 는 제한 되 지 않 습 니 다.
단점:1.전역 변수 로 서 오 작 동 하기 쉽다.따라서 한 사용자 가 사용 하 는 변 수 는 일반적으로 application 을 사용 할 수 없습니다.
사용 방법:1.원본 페이지 의 코드 에 전달 할 이름과 값 구조 Application 변 수 를 만 듭 니 다.application["Nmae"]="Value(Or Object)";
2.목적 페이지 의 코드 는 Application 변 수 를 사용 하여 전달 하 는 값 을 추출 합 니 다.Result = Application["Nmae"]
메모:잠 금 및 잠 금 해제 에 사용 되 는 lock 과 unlock 방법 으로 동시 수정 을 방지 합 니 다.
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
4.Server.Transfer현재 페이지 의 실행 을 중지 하고 현재 요청 한 새 페이지 를 실행 합 니 다.
Server.Transfer("Logon.aspx", true);
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
부트스트랩 ASP.NET에서 설정하는 법1) _Layout.cshtml 內 link로 bootstrap 참조 2) Nuget 패키지에서 BootStrap 다운로드 3) 하단 부트스트랩 예제 사이트 참고해서 프로젝트 개발 참고 :...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.