2010-11-13 5 views
0

J'ai un contrôle DropDownList personnalisé, SDropDownList. J'essaie d'enregistrer et de déclencher l'événement 'SelectedIndexChanged'. J'ai évidemment commencé en ajoutant l'attribut OnSelectedIndexChanged = "method" au balisage mais cela ne déclencherait pas l'événement. J'ai aussi essayé l'enregistrement par programme en cas OnBound du répéteurL'événement DropDownList ne se déclenche pas dans le répéteur

protected void rptrSection1_Bound(object sender, RepeaterItemEventArgs e) 
{ 
    var ctl = e.Item.FindControl("ddlS1") as SDropDownList; 
    ctl.SelectedIndexChanged += new EventHandler(ddlS1_SelectedIndexChanged); 
} 

Note: J'avais lu quelques messages différents forum qui ont indiqué la désactivation du ViewState du répéteur résoudrait ce problème. Ce n'est pas une option pour moi.

Merci pour l'aide!

Comme demandé, le balisage:

<asp:Panel ID="pnlSection1" runat="server"> 
    <asp:Repeater ID="rptrSection1" runat="server" OnItemCommand="rptrSection1_Command" 
     OnItemDataBound="rptrSection1_Bound"> 
     <ItemTemplate> 
       <table class="Section2Table" cellspacing="3"> 
        <tr> 
         <td class="simgv" style="padding: 3px"> 
           <sc:SDropDownList ID="ddlS1" runat="server" OnSelectedIndexChanged="ddlS1_SelectedIndexChanged" > 
            <asp:ListItem Text="Compliant" Value="0" /> 
            <asp:ListItem Text="Other Than Serious" Value="1" /> 
            <asp:ListItem Text="Serious" Value="2" /> 
            <asp:ListItem Text="Critical" Value="3" /> 
           </sc:SDropDownList> 
         </td>        
        </tr> 
       </table> 
      </ItemTemplate> 
    </asp:Repeater> 

+0

Pouvez-vous poster le balisage où le contrôle est? – Oded

Répondre

1

Vous devez définir AutoPostBack = true, sinon SelectedIndexChanged ne tirerons pas, parce qu'il n'y a pas postback à un serveur.

+0

lol, wow. C'est ce que j'obtiens trop souvent avant d'entrer dans l'industrie. J'ai oublié que j'ai toujours ajouté cet attribut à travers le concepteur plutôt que manuellement. –

Questions connexes