2011-10-27 2 views
1

databound에서 데이터 바인딩 된 이벤트, 예를 들어 FormView EditItemTemplate 내에있는 드롭 다운 목록에 액세스 할 수 있는지 아는 사람 있습니까?폼에있는 데이터 바인딩 된 컨트롤의 databound 이벤트에 액세스

예를 들어 멤버 업데이트 양식이 있고 EditItemTemplate 내에 CityID를 도시 목록에 바인딩하는 드롭 다운 목록이 있다고 가정 해보십시오. 그래서 formview에서 컨트롤에 대한 databound 이벤트를 활용하고 도시에 값을 추가하고 싶습니다.

또한 상황을 처리 할 수있는 다른 방법이 있다는 것을 알고 있습니다. 나는이 문제에 대한 대체 해결책을 찾고 있지 않다. 누군가이 방법으로 그것을 할 수 있었는지 알고 싶다.

답변

1

확실! 이전에 해본 방법이 있습니다. 당신의 FormView가로드되면, 당신은 FindControl 방법을 사용하여 데이터 바인딩 된 컨트롤 찾을 수 있습니다 그리고

myDDL.DataBound += myDDL_DataBound; 

: 다음

DropDownList myDDL = (DropDownList)FormView1.Findcontrol("myDDL"); 

을, 당신은 당신이 작성한 이벤트 처리기 메서드를 추가 할 += 구문을 사용할 수 있습니다 myDDL.DataBind()이라고 할 때마다 myDDL_DataBound 메서드가 실행됩니다.

편집 : 그냥 분명히 - 당신은 "databound 이벤트에 액세스"라고.

protected void myDDL_DataBound(object sender, EventArgs e) 
{ 
    //The code you want to execute for the embeded, databound control goes here. 
} 
+0

아, 예뻐요! 고마워, 나는 그것을 시험해 볼 것이다! – Steve

+0

@ 스티브 행운을 빌어 요! 그것이 당신을 위해 작동하는지 알려주세요. – jadarnel27

+0

@Steve 아름다운 -하지만 upvote 안돼? (゚ ー ゚) –

0

이 수행하는 가장 쉬운 방법 : 다음

뒤에 코드에서 함수를 작성 은 단순히 DropDownList로 에 OnDataBound 매개 변수를 추가을 그건 내가 언급 한 방법 ( myDDL_DataBound)는 다음과 같이 보일 필요가 의미
<asp:DropDownList ID="MyDDL" runat="server" OnDataBound="myDDL_DataBound" ... /> 
관련 문제