2010-03-29 6 views
2

나는 딜레마가 거의 없다. GridView와 같은 데이터 바인딩 컨트롤을 ObjectDataSource와 함께 사용한다. 하지만 나는 두 가지 가능한 옵션을 때 Gridview에 데이터를 바인딩 할 수 있습니다.데이터 바인딩 된 컨트롤을 언제 데이터 바인딩 할 수 있습니까?

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     testGridView.DataSource = testObjectDataSource.Select(); 
     testGridView.DataBind(); 
    } 
} 

내가의 생각 : 첫 번째는 내가 영문 파일에있는 gridview의 datasourceid을 설정하고 PreRender 이벤트가 발생하거나 내가 Page_Load 이벤트에서 데이터 소스를 설정하고 데이터 바인딩이 바로 이런 일을 발생하기 전에 데이터 바인딩이 순간에 발생한다는 것입니다 두 번째 접근 방식 나는 데이터 바인딩 위에 더 많은 컨트롤이 있습니다. 그러나 그것이 실제 프로그래밍 생활에 어떤 영향을 미치고 있습니까? 위의 두 가지 옵션 중 일반적으로 사용되는 옵션은 무엇입니까? 아니면 데이터 바인딩 된 컨트롤에 데이터를 바인딩 할 수있는 몇 가지 세 번째 옵션이 있습니까? 실제 경험을 통한 귀하의 의견에 감사드립니다.

답변

2

나는

다른 조작해야하는 경우이 방법 ... 그것은 당신이 당신의 Page_Load 예 또는 클릭 등에 그 일을하는 방법과 유사 발생할 때 내가 지시 할 수있는 코드의 모든 데이터 바인딩을 수행하는 것을 선호 컨트롤 (데이터 바인딩하는 컨트롤과 관련 없음) 데이터 바인딩이 발생한 후에 OnDataBinding 또는 OnDataBound과 같은 이벤트를 수행하지 않고도 수행 할 수 있습니다. 나는 일반적으로 이러한 이벤트를 사용하여 구체적으로 바인딩되는 컨트롤에 영향을 미치고 다른 컨트롤에는 영향을 미치지 않습니다.

나는 또한 더 정밀한 컨트롤을 선호하며 이러한 컨트롤의 모든 자동 와이어 업 기능이 항상 유연하지는 않습니다. 나는 코드를 반으로하고, 나머지 반은 다른 코드를 사용하는 것을 좋아하지 않는다. (예를 들어 코드에서 일부, 자동 와이어에서 aspx로) 코드를 통해 모든 것을 수행한다.

관련 문제