:
void Method1()
{
var myString = "help";
Method2(myString);
}
void Method2(string aString)
{
var myString = "I need ";
var anotherString = myString + aString;
}
을 그러나 이것을 달성하는 유일한 방법은 기본 폼 클래스에 이동하는 것입니다, 예제의 메서드는 이벤트 리스너입니다. 일반적으로 직접 전화하지 마십시오. (수 있습니다 수 있지만 하나의 합니다합니다.) 그래서이 특정 경우에는 사용하는 두 가지 방법에 대한 클래스 내의 일반적인 위치에 값을 저장하는 것이 더 신중한 것입니다. .이 같은 것은 :
string StringA { get; set; }
public void button1_Click(object sender, EventArgs e)
{
StringA = "help";
}
public void button2_Click(object sender, EventArgs e)
{
string b = "I need ";
string c = b + StringA;
}
그러나 이것은 ASP.NET에서 매우 다르게 동작합니다. 그래서 그게 당신이 사용하고있는 것이라면 아마 그걸 한 걸음 더 나아가고 싶을 것입니다. 다르게 동작하는 이유는 서버 측이 "상태 비 저장"이기 때문입니다. 따라서 클라이언트에서 오는 각 버튼 클릭은 클래스의 완전히 새로운 인스턴스가 될 것입니다. 따라서 첫 번째 버튼 클릭 이벤트 핸들러에서 해당 클래스 수준 멤버를 설정하는 것이 두 번째 버튼 클릭 이벤트 핸들러에서 사용할 때 반영되지 않습니다.
그런 경우 웹 응용 프로그램 내에서 지속성 상태를 조사해야합니다. 옵션은 다음과 같습니다
- 페이지 값 (숨겨진 필드, 예를 들어)
- 쿠키
- 세션 변수
- 응용 프로그램 변수
- 데이터베이스
- 서버 측 파일을
- 일부 다른 서버 측에서 데이터를 지속하는 수단 등.
나쁜 연습. 작은 일을하기 위해서이 접근법은 제안되지 않았습니다. –