2016-06-23 6 views
0

Wenn ich Dropdown-Liste innerhalb der Listview anwenden fügen sie nur Nullwert warum?Dropdown-Liste in der Listenansicht Elementvorlage einfügen, die Null an die Datenbank übergibt?

Momentan habe ich eine Dropdown-Liste mit ihrer eigenen sqldatasource, die die Dropdownliste füllt. Das ddl befindet sich in einer ListView, die auch auf sqldatasource, Elementvorlage einfügen hat. Wenn wir jedoch auf Einfügen klicken, ist der Wert, der an dbase übergeben wird, null.

<asp:DropDownList ID="DropDownList1" SelectedValue= '<%# Bind("NationalityId") %>' CssClass="form-control" runat="server" 
DataSourceID="SqlDataSource1" DataTextField="NationalityName" DataValueField="NationalityId"> 
    </asp:DropDownList> 
    <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:CRMSConnectionString %>' SelectCommand="SELECT * FROM [Nationality]"> 
     </asp:SqlDataSource> 
+0

+0

Wenn ich eine Dropdown-Liste unter Verwendung des obigen Codes anwende, funktionieren sie gut. –

+0

Aber wenn ich 2 Dropdown-Liste anwenden, zweite Dropdown mit dem ersten Dropdown geerbt, kann das nicht funktionieren. sie geben Nullwert aus. –

Antwort

0
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource3" DataKeyNames="AreaId" InsertItemPosition="LastItem"> 
<InsertItemTemplate> 
       <tr style=""> 
        <td> 
         <asp:Button runat="server" CommandName="Insert" Text="Insert" ID="InsertButton" CssClass="btn-warning" Width="50px" Height="25px" /> 
         <asp:Button runat="server" CommandName="Cancel" Text="Clear" ID="CancelButton" CssClass="btn-warning" Width="50px" Height="25px" /> 
        </td> 
        <td> 
         <asp:UpdateProgress ID="UpdateProgress1" runat="server"> 
          <ProgressTemplate> 
           <img alt="as" src="Images/loader1.gif" style="width: 30px; height: 30px" /> 
          </ProgressTemplate> 
         </asp:UpdateProgress> 
        </td> 
        <td> 
         <asp:DropDownList ID="DropDownList1" runat="server" SelectedValue='<%# Bind("ProvinceId") %>' CssClass="form-control" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID="SqlDataSource4" DataTextField="ProvinceName" DataValueField="ProvinceId"></asp:DropDownList> 
         <asp:SqlDataSource runat="server" ID="SqlDataSource4" ConnectionString='<%$ ConnectionStrings:CRMSConnectionString %>' SelectCommand="SELECT * FROM [Province]"></asp:SqlDataSource> 
        </td> 
        <td> 
         <asp:DropDownList ID="DropDownList4" runat="server" SelectedValue='<%# Bind("CityId") %>' CssClass="form-control" DataSourceID="SqlDataSource5" DataTextField="CityName" DataValueField="CityId"></asp:DropDownList> 
         <asp:SqlDataSource runat="server" ID="SqlDataSource5" ConnectionString='<%$ ConnectionStrings:CRMSConnectionString %>' SelectCommand="SELECT City.CityId, City.CityName FROM City INNER JOIN Province ON City.ProvinceId = Province.ProvinceId WHERE (City.ProvinceId = @ProvinceId)"> 
          <SelectParameters> 
           <asp:ControlParameter ControlID="DropDownList1" PropertyName="SelectedValue" Name="ProvinceId"></asp:ControlParameter> 
          </SelectParameters> 
         </asp:SqlDataSource> 
        </td> 
        <td> 
         <asp:TextBox Text='<%# Bind("AreaName") %>' runat="server" ID="AreaNameTextBox" CssClass="form-control" /></td> 
       </tr> 
      </InsertItemTemplate> 
</asp:ListView> 

<asp:SqlDataSource runat="server" ID="SqlDataSource3" ConnectionString='<%$ ConnectionStrings:CRMSConnectionString %>' DeleteCommand="DELETE FROM [Area] WHERE [AreaId] = @AreaId" InsertCommand="INSERT INTO [Area] ([AreaName], [CityId], [ProvienceId]) VALUES (@AreaName, @CityId, @ProvienceId)" SelectCommand="SELECT * FROM [Area]" UpdateCommand="UPDATE [Area] SET [AreaName] = @AreaName, [CityId] = @CityId, [ProvienceId] = @ProvienceId WHERE [AreaId] = @AreaId"> 
      <DeleteParameters> 
       <asp:Parameter Name="AreaId" Type="Int32"></asp:Parameter> 
      </DeleteParameters> 
      <InsertParameters> 
       <asp:Parameter Name="AreaName" Type="String"></asp:Parameter> 
       <asp:Parameter Name="CityId" Type="Int32"></asp:Parameter> 
       <asp:Parameter Name="ProvienceId" Type="Int32"></asp:Parameter> 
      </InsertParameters> 
      <UpdateParameters> 
       <asp:Parameter Name="AreaName" Type="String"></asp:Parameter> 
       <asp:Parameter Name="CityId" Type="Int32"></asp:Parameter> 
       <asp:Parameter Name="ProvienceId" Type="Int32"></asp:Parameter> 
       <asp:Parameter Name="AreaId" Type="Int32"></asp:Parameter> 
      </UpdateParameters> 
     </asp:SqlDataSource> 
Verwandte Themen