server.transfer 사용법
1: 여러분에게 익숙한 특징 중 하나는 서버입니다.transfer가 새 페이지로 이동할 때 브라우저의 주소는 바뀌지 않았습니다. (완전히 서버에서 진행되기 때문에 브라우저는 서버가 페이지 변환을 실행한 것을 전혀 몰랐기 때문입니다.) 어떤 경우에는 이런 효과가 필요합니다.(단, 페이지를 새로 고치면 브라우저가 사용자에게 다시 시도하여 양식을 보낼지 물어봅니다. 사용자가'예'를 누르면 양식의 데이터가 서버로 다시 보냅니다. 만약 양식에 데이터베이스에 기록을 삽입하는 것과 유사한 양식이 있다면 같은 양식은 여러 번 데이터베이스에 추가됩니다.)
2: 인터넷에서 자료를 찾아봤는데 기본적으로 Response에 비해Write,server.transfer가 더 효율적입니다. 완전히 서버에서 진행되기 때문에 클라이언트가 서버에 대한 요청을 줄일 수 있습니다
3: Server.Transfer는 Response 대신 로컬 가상 디렉토리에서 지정한 페이지로만 이동할 수 있습니다.Redirect는 이 요구 사항이 없습니다.
4: 인터넷용 서버를 보았습니다.Transfer는 페이지 간에 값을 전달하는 것을 배웠습니다. 개인적으로 이 방법으로 페이지 간에 많은 파라미터를 전달할 때 매우 유용합니다. 지금 그를 기록합니다.
4.1: 페이지 a.aspx, b.aspx를 만들려면 a.aspx 페이지 사용자가 입력한'사용자 이름','성별','키'등 정보를 b.aspx 페이지에 전달해야 한다
4.2: a.aspx.cs
public partial class _a : System.Web.UI.Page
{
private string strName;
private string strSex;
public string StrSex
{
get { return this.ddlSex.Text; }
set { strSex = value; }
}
public string StrName
{
get
{
if (this.tbxName.Text == "")
{
return " ";
}
else
{
return this.tbxName.Text;
}
}
set { strName = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
Server.Transfer("b.aspx");
}
}
4.3: b.aspx 페이지에 이 코드를 넣으면 뒤에서 계속할 수 없습니다
<%@ Reference Page="~/a.aspx" %>
4.4: b.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
_a pageA = (_a)Context.Handler;
Response.Write(" :" + pageA.StrName + " :" + pageA.StrSex);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.