2012-07-20 2 views
1

asp.net에 대한 사용자 정의 컨트롤로 프로그래밍 된 모든 사용자가 처음으로 사용자 정의 컨트롤이로드되었는지 여부를 확인하는 특정 방법이 필요하다고 생각합니다. 다시로드되었습니다. 누구든지 숨겨진 "currentOpenControl"플래그를 설정하는 것 이외의 다른 솔루션을 생각해 냈습니다. 당신이해야 할 일이 궁금하다면, 컨트롤이 처음으로 열렸는지 또는 다시 열릴 것인지를 확인해야 할 필요가 있습니다. 큰 이유 중 하나는 데이터 바인딩입니다. 컨트롤이 처음 열릴 때, 데이터 바인딩을 원할 때, 나중에 다시 열 때, 다시 데이터 바인딩하면 사용자가 추가 한 변경 사항이 손실됩니다. 그래서 누구나 컨트롤이 열려 있는지 여부를 플래그를 설정하는 것보다 더 우아한 해결책이 있는지 궁금합니다..NET UserControls 처음로드 또는 후속로드 플래그

감사

+0

우리가 할 수 없습니까? 전자 제어에서 IsPostBack? – Asdfg

+0

하나의 .aspx 페이지를 사용하는 경우가 아니라 많은 "파트"가 다른 usercontrols.I 주제를 업데이트 한 곳. – BlueChameleon

답변

2

내가이 viewstate가를 사용하는 것입니다 할 관리했습니다 유일한 방법 ...

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 
    If ViewState["postBack"] Is Nothing Then 
    ' Do everything you'd normally do with Page.IsPostBack 
    ViewState["postBack"] = true 
    End 
End Sub 

또는 C 번호

...

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (ViewState["postBack"] == null) 
    { 
    // Do everything you'd normally do with Page.IsPostBack 
    ViewState["postBack"] = true; 
    } 
} 
0

당신이 할 수있는 이것을 사용하여 VB.NET에서 C로 변환 #

Private currentPage As Page = HttpContext.Current.Handler 
    If (Not currentPage.IsPostBack) Then 
    End if 
관련 문제