ListView DTO中的DropDownList DataSourceID

时间:2018-09-17 12:28:44

标签: c# asp.net listview webforms

为什么我不能在我的DropDownList上使用SelectedValue!

我尝试了SelectedValue="<% BindItem.current_contact.status_id %>",但错误提示这不是有效的参数。并且Bind("status_id")也不起作用:我的DropDownList上的“ 服务器标记不正确。”。

<asp:SqlDataSource runat="server" ID="SdsStatus"
SelectCommand="SELECT SP.status_id, SP.sp_label, SP.sp_order FROM tr_status SP WHERE SP.groupe_id = @groupe_id ORDER BY SP.sp_order ;                                                                       " ConnectionString="<%$ ConnectionStrings:DBLOGIPRO %>">
<SelectParameters>                           
  <ctrl:ClassPropertyParameter Name="groupe_id" ClassName="User" PropertyPath="CurrentNego.groupe_id" ConvertEmptyStringToNull="true" Type="Int32" />
</SelectParameters>                                                                  
</asp:SqlDataSource>

    <asp:ListView runat="server" ID="LvContact"
    RenderOuterTable="false"
    SelectMethod="GetAccountWithContacts" ItemType="AccountWithContactsDTO"
    UpdateMethod="UpdateAccountWithContacts">

    <EditItemTemplate>
     ...
     <asp:DropDownList runat="server" ID="DdlStatus" EnableViewState="true"
        DataSourceID="SdsStatus"
        DataTextField="sp_label" DataValueField="status_id" 
        DataTextFormatString="{0}" AppendDataBoundItems="true"
        OnSelectedIndexChanged="DdlStatus_SelectedIndexChanged"                                                                      
        AutoPostBack="true">

          <asp:ListItem Value="" Text="" Selected="True"></asp:ListItem>

    </asp:DropDownList>                                   
   </EditItemTemplate>                                        
  </asp:ListView>

1 个答案:

答案 0 :(得分:0)

您可以尝试在ListView的ItemDataBound事件中设置SelectValue。在那里您可以处理控件的属性值。 我不确定是否可以直接在aspx中使用Bind()方法处理这种属性。