2011-12-21 10 views
0

GridViewにドロップダウンリストがありますが(実際には束があります)、私はそれらのうちの1つについてのみ懸念しています。ユーザーがドロップダウンリストに項目を追加するかどうかを確認するために新しい選択を行ったときにキャプチャする必要があります。SelectedIndexChangedをキャッチしません

protected void DebtorDropDownList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    GridViewRow row = GridView1.Rows[GridView1.EditIndex]; 
    DropDownList list = (DropDownList)row.FindControl("DebtorDropDownList"); 
    string temp = list.SelectedValue; 
} 

ここでASPコードである:ここに私のコード..と呼ばれることは決してありません

これは、私が何をしないのです

<ItemTemplate> 
    <asp:DropDownList ID="DebtorDropDownList" AppendDataBoundItems="true" runat="server" 
         DataSourceID="SqlDataSource4" DataTextField="FirstName" DataValueField="contactkey" 
         SelectedIndexChanged="DebtorDropDownList_SelectedIndexChanged" AutoPostBack="True" > 
         <asp:ListItem Selected="True">Select</asp:ListItem> 
         <asp:ListItem >Add New Contact</asp:ListItem> 
        </asp:DropDownList> 
        <asp:SqlDataSource ID="SqlDataSource4" runat="server" 
         ConnectionString="<%$ ConnectionStrings:AuditDevConnectionString2 %>" 
         SelectCommand="sp_fc_vm_getSpokeTo" SelectCommandType="StoredProcedure"> 
         <SelectParameters> 
          <asp:ControlParameter ControlID="GridView1" DefaultValue="0" Name="DebtorKey" 
           PropertyName="SelectedValue" Type="Int32" /> 
         </SelectParameters> 
        </asp:SqlDataSource> 
       </ItemTemplate> 

は?また、適切なコントロールを見つけるために正しいコードを使用していますか?

+0

'

'全体で 'runat =" server "'を指定しましたか? – Yogu

+3

あなたのポストバックには、あなたのドロップダウンリストが再バインドされているようです。グリッドビューitemCommandでその値をキャッチしてみませんか?あなたのsqldatasourceをgriviewから移動してください –

+0

私の問題が見つかりました。私のASPを詳しく見ると、 "SelectedIndexChanged"イベントに "On"が表示されていないことがわかります。一度私はそれが期待どおりに働いたと付け加えました。 – Craig

答えて

0

私の問題が見つかりました。 ASPを見ると、「SelectedIndexChanged」イベントが「on」になっています。

+0

あなたの答えにフラグを立てることを忘れないでください:) –

関連する問題