다른 페이지에서 페이지의 viewstate에 액세스하는 방법이 있습니까? ViewState는 페이지의 범위 일 뿐이며 외부 페이지에는 액세스 할 수 없다고 생각하므로 의심의 여지를 없애기 위해 답을 자세히 설명하십시오.Asp.Net의 다른 페이지에서 한 페이지의 ViewState에 액세스 할 수 있습니까?
3
A
답변
10
다른 페이지에서 한 페이지의 ViewState에 직접 액세스 할 수 없습니다.
특정 ViewState 값에 액세스하려는 경우 컨텍스트 컬렉션에 값을 전달한 다음 다른 페이지의 값에 액세스 할 수 있습니다.
string myValue = Context.Items["variable"].ToString();
4
2 페이지에서 1 페이지
Context.Items.Add ("variable" , ViewState["yourvalue"].ToString());
에서
은 거의 모든 ASP.NET의 인터뷰에서이 질문을 묻는 메시지가 표시됩니다. 이 질문에 대한 답변은 직접은 아니지만 statebag 클래스를 통해 액세스 할 수 있습니다. 그러나 두 번째 페이지를 호출하면
이protected void Page_Load(object sender, EventArgs e)
{
ViewState["Name"] = "Kamaraj";
Server.Transfer("SecondPage.aspx");
}
public StateBag ReturnViewState()
{
return ViewState;
}
// 두 번째 페이지가
Secondpage.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null && PreviousPageViewState != null)
{
lblMag.Text = PreviousPageViewState["Name"].ToString();
}
}
private StateBag PreviousPageViewState
{
get
{
StateBag returnValue = null;
if (PreviousPage != null)
{
Object objPreviousPage = (Object)PreviousPage;
MethodInfo objMethod = objPreviousPage.GetType().GetMethod("ReturnViewState");//System.Reflection class
return (StateBag)objMethod.Invoke(objPreviousPage, null);
}
return returnValue;
}
}
0
이것은 또한 작동 Server.Transfer를 통해
FirstPage.aspx해야
FirstPage.aspx (코드 숨김)
(뒤에 코드에서)public void btnTransfer_Click(object sender, EventArgs e)
{
CompanyInfo comInfo = new CompanyInfo() { ID = 223, Name = "TCS" };
ViewState["ViewStateCompany"] = comInfo;
Server.Transfer("SecondPage.aspx");
}
public CompanyInfo GetViewValue()
{
CompanyInfo comInfo = (CompanyInfo)ViewState["ViewStateCompany"];
return comInfo;
}
SecondPage.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null)
{
Type ty = Page.PreviousPage.GetType();
MethodInfo mi = ty.GetMethod("GetViewValue");
CompanyInfo comInfo = (CompanyInfo)mi.Invoke(Page.PreviousPage, null);
}
}
CompanyInfo 클래스
public class CompanyInfo
{
public int ID { get; set; }
public string Name { get; set; }
}
관련 문제
- 1. 다른 페이지에서 한 페이지의 컨트롤에 액세스
- 2. ASP.NET의 다른 페이지에서 페이지의 필드를 업데이트하십시오.
- 3. ASP.NET의 한 페이지에서 다른 페이지로 개체 전달
- 4. 한 페이지에서 다른 웹 페이지에 대한 Response.Redirect()를 실행하면 asp.net의 새 페이지 액세스 값이 원본 페이지에서 제어 할 수 있습니까?
- 5. 배열을 asp.net의 ViewState에 저장할 수 있습니까? 나는이 프로그램을 실행하면
- 6. 자식 컨트롤의 viewstate에 액세스
- 7. 다른 도메인의 페이지에서 iframe 내용에 액세스 할 수 없습니다.
- 8. 상위 페이지에서 javascript iframe 요소에 액세스 할 수 있습니까?
- 9. 한 페이지에서 JavaScript를 사용하여 다른 서버에서 양식을 채울 수 있습니까?
- 10. 다른 페이지에서 동적 콘텐츠에 액세스
- 11. 한 페이지에서 다른 페이지로 [내용]을 어떻게 전송할 수 있습니까?
- 12. 다른 페이지의 링크에서 한 페이지의 함수 호출
- 13. 다른 페이지에서 한 페이지의 버튼 클릭 이벤트 호출 ASP.NET
- 14. ASP.Net/ASP.Net MVC - 다른 페이지에서 한 페이지의 내용을 요청 하시겠습니까?
- 15. 중첩 된 마스터 페이지의 콘텐츠 페이지에서 하위 마스터 페이지의 메뉴 컨트롤에 액세스 할 수 없습니다.
- 16. 다른 클래스의 Java.util지도에 액세스 할 수 있습니까?
- 17. 다른 페이지의 액세스 제어 asp.net
- 18. 페이지 액세스 제한은 지정된 페이지에서 입력 할 수 있습니까?
- 19. xmlDocument 객체를 ViewState에 저장할 수 있습니까?
- 20. 탭 막대의 한 페이지에서 다른 페이지로 작업을 연결할 수 있습니까?
- 21. 정보를 한 HTML 페이지에서 다른 페이지로 보낼 수 있습니까?
- 22. Windows 서비스가 웹 페이지의 캐시 개체에 액세스 할 수 있습니까?
- 23. 웹 페이지의 분석되지 않은 CSS 텍스트에 액세스 할 수 있습니까?
- 24. ajax'd 페이지에서 $ _SESSION [] 값에 액세스 할 수 있습니까?
- 25. Wordpress 페이지에서 POST 변수에 액세스 할 수 있습니까?
- 26. 다른 사람이 페이지 외부에서 내 WebMethod에 액세스 할 수 있습니까?
- 27. iFrame의 내용을 다른 페이지의 링크에서 변경할 수 있습니까?
- 28. 어떻게 byte []리스트를 viewstate에 저장할 수 있습니까?
- 29. 웹 페이지에서 텍스트가있는 UILabel을로드 할 수 있습니까?
- 30. 다른 HTML 페이지에서 swfs로 액세스 할 수있는 AS3 공유 객체?
실제로 당신이 할 수 있습니다. 거기에 우리가 viewstate에 액세스 할 수있는 크로스 페이지 postng으로 불리는 뭔가. http://www.codeproject.com/Tips/604553/Postback-and-Cross-Page-Posting-in-ASP-NET –