2012-02-05 4 views
0

私はasp.netに関しては初心者ですので、どんな助けでも大変感謝しています。DropDownList TextValueはリスト内で第1位です

私は詳細ビューコントロールを備えた単純なデータバインドドロップダウンリストを持っています。リストから値を選択し、更新をヒットし、正しい値がデータベースに書き込まれます。問題は、コントロールが自動的に "リセット"リストの最初の値を表示することです。これはユーザーを混乱させ、更新前の最初の値を選択したと思うようにします。

のみコードビハインドコードこのドロップダウン・リストとの関係では、次のように、コントロールを表示細部のItemUpdating方法で見つけることができます:

DropDownList ddlLoc = (DropDownList)dvYourProfile.FindControl("ddlLocation"); 
e.NewValues["PreferredLocation"] = ddlLoc.SelectedValue; 

そしてここでは、コード形式は、aspxページ

です
<asp:TemplateField HeaderText="Preferred Location"   
    SortExpression="PreferredLocation">   
    <ItemTemplate>   
     <asp:DropDownList Text='<%# Bind("PreferredLocation") %>' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />   
    </ItemTemplate>  
    <EditItemTemplate>  
     <asp:DropDownList DataValueField='PreferredLocation' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />  
    </EditItemTemplate>  
    <InsertItemTemplate>  
     <asp:DropDownList DataValueField='PreferredLocation' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />  
    </InsertItemTemplate> 
</asp:TemplateField> 

<asp:SqlDataSource ID="dsStaticDate" runat="server" ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
    SelectCommand="SELECT * FROM StaticData" /> 
+0

コードをバインドすると、データバインドされたコントロールの動作をより詳細に制御できます。私はそれをすることをお勧めします。 – TheGeekYouNeed

+0

しかし、これは簡単な作業でなければならないと思いますか? –

答えて

0

コードを後ろにバインドする必要があります。 SqlDataSourceを使用してaspxページにバインディングする既定の動作では、イベントが発生した後にDropDownListの再バインドを停止することはできません。

関連する問題