2013-11-29 2 views
1

Привет Я эту EntityDataSource привязан к ListViewИспользуйте логическое Asp ControlParameter в EntityDataSource

<asp:EntityDataSource ID="EntityDataSource_utenti" runat="server" 
    ConnectionString="name=db_shieldtrustEntities" 
    DefaultContainerName="db_shieldtrustEntities" EnableFlattening="False" 
    EntitySetName="utenti" Include="elenco_utenti" 
    AutoGenerateWhereClause="True" Where="" EntityTypeFilter="" Select=""> 
    <WhereParameters> 
     <asp:ControlParameter ControlID="DropDownList_tipo_utente" Name="tipo_utente" 
      PropertyName="SelectedValue" Type="Int16" /> 
     <asp:ControlParameter ControlID="DropDownList_abilitazione" Name="ablitato" 
      PropertyName="SelectedValue" Type="Boolean" /> 
    </WhereParameters> 
</asp:EntityDataSource> 

Второй ControlParameter упоминается в DropDownList, определяемом таким образом

<asp:DropDownList ID="DropDownList_abilitazione" runat="server" AutoPostBack="true" /> 

и заполнены событие загрузки страницы

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     {     
      //databinding della ddl dell'abilitazione utente 
      DropDownList_abilitazione.Items.Clear(); 
      DropDownList_abilitazione.Items.Insert(0, new ListItem("-Abilitazione-", "")); 
      DropDownList_abilitazione.Items.Insert(1, new ListItem("Abilitato","1")); 
      DropDownList_abilitazione.Items.Insert(2, new ListItem("Disabilitato", "0")); 
     } 

    } 

но когда я меняю Предмет в DDL I obtai n Эта ошибка: String не была признана допустимым логическим значением.

ответ

0

Строки «1» и «0» не действительны Boolean значения. Вместо этого используйте «True» и «False».

DropDownList_abilitazione.Items.Insert(0, new ListItem("-Abilitazione-", "")); 
DropDownList_abilitazione.Items.Insert(1, new ListItem("Abilitato","True")); 
DropDownList_abilitazione.Items.Insert(2, new ListItem("Disabilitato", "False")); 
Смежные вопросы