2014-03-03 2 views
3

페이지로드 전에 초기화하는 문자열 변수가 하나 있습니다. 함수에서 값을 받아들이는 문자열 변수이며 Submit 이벤트에서이 변수를 사용하고 싶습니다. 그러나 양식을 제출하면 문자열 vale이 손실됩니다. 문자열 변수는 페이지로드시 비어있게됩니다. 제출할 때까지 어떻게 값을 저장할 수 있습니까?문자열 변수에 저장된 값이 각 페이지로드에서 손실되었습니다.

public partial class Send_Enquiry : System.Web.UI.Page 
{ 

    String tempID2=string.Empty; 

    .... 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void submit() 
    { 
     //When I am calling the "tempID2" value over here, the value come blank. 
    } 

    protected void getdata() 
    { 
     tempID2= "data"; 
    } 

} 
+0

누가'getData()'를 호출하나요? 그 외에는 웹 사이트가 무국적임을 알고 있습니까? – Silvermind

답변

0

HTTP 또는 웹가 상태입니다 : 여기

는 예/샘플 코드입니다.

변수를 세션에 저장해야합니다.

처럼 : 그런 다음 데스크톱 응용 프로그램을 좋아하지 않는이

string value=Session["something"]; //"hi" 

웹 사이트를 수행하여 값을 검색 할 수

Session["something"]="hi"; 

.

1

웹 상태는 비공개입니다. maintain state of your web page 자신이 필요합니다. ViewStateSession과 같이 여러 가지 방법이 있습니다. 문자열 값은 서버에서 사용자 당 유지 관리되는 또는 Session (페이지 수준에서 유지 관리되는) ViewState에 저장할 수 있습니다.

당신은 그것을 좋아 저장할 수

ViewState["yourKey"] = "data"; 

그리고 당신이 할 수있는 그것을 입수하십시오 :

string str = ViewState["yourKey"] as string; 
0

스토어를 세션 변수에. 보관하려면 사용하십시오 :

Session["tempId2"] = tempId2; 

을 한 다음 다시 얻을 :

string tempId2 = Session["tempId2"].ToString(); 
0

클래스의 인스턴스를 생성하고 (때마다 페이지가 서버에 다시 제출) 각 상호 작용을 파괴됩니다. 그래서 필드의 가치가 유지되지 않습니다. 값을 유지하려면 양식의 숨겨진 필드에 두어야합니다 (HTML 소스를 볼 때 문자열이 클라이언트에 표시된다는 의미입니다).

관련 문제