2009-06-24 10 views
4

여기에 코드 숨김 ... 드롭 다운 목록에 항목을 추가 할 수 있도록이 컨트롤을 가져 오려고합니다 (추가 할 역할 그룹을 가져옵니다). 코드 숨김) 여기코드 숨김에서 FormView 내의 컨트롤을 찾는 중 문제가 발생했습니다.

Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim DDRoleGroups As DropDownList 
    DDRoleGroups = FormView1.FindControl("DDRoleGroup") 
End Sub 

에서 드롭 다운 목록이 FormView : 그것은

<asp:FormView ID="FormView1" runat="server" DataKeyNames="ID" 
    DataSourceID="ObjectDataSource_Vendors" 
    DefaultMode="Insert" BorderColor="DarkGray" 
    BorderStyle="Solid" BorderWidth="1px" CellPadding="4" Visible="False"> 
    <EditItemTemplate> 
    </EditItemTemplate> 
    <InsertItemTemplate>       
    <label class="form_label">Role Group:</label><br /><asp:DropDownList ID="DDRoleGroup" 
       runat="server" Width="175px" 
       EnableViewState="False"> 
       </asp:DropDownList> 
    </InsertItemTemplate> 
</asp:FormView> 

하는 것이 가능하게 할 필요가 없습니다) 쉽게 읽을 그래서 (나는 대부분의 필드를 꺼내서 사실 Page_Load에 속해 있고 컨트롤이 실제로로드하지 않았기 때문에 티?

감사합니다,
매트

답변

1

의 FindControl formview에 만 FormView의 "CurrentMode"속성이 설정되어있는 템플릿 작동합니다. 당신의 FormView가 "삽입"로 설정되어있는 경우 그 사용자의 제어에 존재하는 템플릿이기 때문에 귀하의 경우에는

, 당신은, "DDRoleGroups"에 대한의 FindControl을 할 만 할 수 있습니다. 도움이

희망을.

+0

DefaultMode = "Insert"<- CurrentMode = "Insert"와 같은 것이 아닌가요? – Matt

+0

아닙니다. DefaultMode는 삽입/업데이트/삭제 작업 후에 formview가 반환하는 값입니다. CurrentMode는 FV가 현재 어떤 모드인지 나타냅니다. DefaultMode를 이미 설정했는지 확인하지 못했습니다. 삽입으로 설정되어 있고 실제로 Page_Load 동안 삽입 중임을 확인한 경우 다른 작업이 진행 중입니다. – womp

+0

당신이 제안한 것을했는지 심지어 FindControl을 안에 캡슐화했는지 확인하십시오. ViewForm1.CurrentMode.Equals ("Insert) Then."확실히 If 내부로 들어가서 왜 작동하지 않는지 확신 할 수 없습니다 ... – Matt

3

드롭 다운은 삽입 모드에서만 존재합니다. CurrentMode == 삽입하면 컨트롤을 formview의 ModeChanged 이벤트를 구현하고 검색하려고 : 양식이 아직 삽입 모드로 전환하지 않은대로를 Page_Load에서이 문제를 처리 할 수 ​​

protected void FormView1_ModeChanged(object sender, EventArgs e) 
{ 
    if (FormView1.CurrentMode == FormViewMode.Insert) 
    { 
     DropDownList DDRoleGroups = FormView1.FindControl("DDRoleGroup"); 
     // fill dropdown 
    } 
} 

.

관련 문제