2009-04-29 7 views
2

나는 DataBinding 이벤트를 처리 할 때 ASP.NET WebControl의 DataSource를 할당하는 것으로 놀아왔다. 내 페이지의 일반적인 데이터 바인딩 논리의 경우 정리 작업이 잘 진행된 것 같습니다.데이터 바인딩 이벤트 동안 데이터 소스 할당

이렇게하지 않는 이유는 무엇입니까? 내 머리 위로, 나는 두 가지 이유로이 일에 대해 주장 할 것이다 방금

답변

2

:

1) 디자인은 2 냄새) 정말 # 1의

을 무슨 일이 일어나고 있는지 모호하게, 나는이 말을 데이터 바인딩 이벤트를 처리하기 위해서는 이미 무언가에 바인딩이 시작되어야하기 때문입니다. 중류에서 바인딩을 변경하려면 내가 이상적인 디자인이라고 부르는 것이 아닙니다.

누군가가 내 컨트롤 중 하나를 만들고 해당 컨트롤에서 .DataBind()를 호출하고 내부적으로 다른 것으로 바인딩을 시작하면 호출자가 무엇이 진행되고 있는지 명확하지 않다는 점에서 # 2로 연결됩니다.

기술적 관점에서 보지 않았지만, 재귀 적 데이터 바인딩 무한 루프의 가능성을 높이는 것으로 보입니다. 나는 정말로 당신이하고있는 일이 받아 들여질 수 있는지 또는 더 좋은 방법이 있는지를 알기 위해 어떤 코드를보아야 할 필요가 있다고 생각합니다.

+0

# 1의 의미를 알 수 있습니다. For # 2 ... 내 UserControls에서는이 작업을 수행하지 않지만 내 웹 페이지에는 일반 ASP.NET WebControls 작업을 수행합니다. 내 UserControls에 대해 DataBind가 호출 될 때 DataSource가 null 인 경우 발생하는 새로운 이벤트 "NeedDataSource"(예 : Telerik 컨트롤)를 만듭니다. –

관련 문제