【发布时间】:2015-10-27 09:38:47
【问题描述】:
我在 asp.net 详细视图“PlantingHatchery”和“CatalogNames”中有两个下拉列表。第一个的结果决定了第二个的值。第一个填充得很好,但不是第二个。我已经尝试了几个建议,但没有一个对我有用。我哪里错了?
下面是相关代码:
<asp:DetailsView ID="dvSMasterCurrentYear" runat="server" AutoGenerateRows="False" align="center" DataKeyNames="SMasterid" DataSourceID="SqlDataSource1"
Height="50px" Width="437px" AutoGenerateInsertButton="True" AllowPaging="True" insertcommand =" Insert Into [SMasterCurrentYear}
([HatcheryCodePlant],[CatalogNo],[DataPlant],[TimePlant],[SpeciesCode],[BroodYear],[SizeCode],[MethodCode],[Length], [PoundFish],[NumberPlanted],[NumberPerLB],[HaulMort],
[License], [ActSites], [HatcheryCodeRear],[Comments],[H20Temp],[ConsOfficer],[TankTemp],[Marks],[Raceway])
Values (@HatcheryCodePlant, @CatalogNum, @DataPlant, @TimePlant, @SpeciesCode, @BroodYear, @SizeCode, @MethodCode, @Length, @PoundFish, @NumberPlanted, @NumberPerLB,
@HaulMort, @License, @ActSites, @HatcheryCodeRear, @Comments, @H20Temp, @ConsOfficer, @TankTemp, @Marks, @Raceway) " Font-Bold="True" BackColor="#FFCC99" Font-Size="Medium" DefaultMode="Insert">
<AlternatingRowStyle BackColor="#99FFCC" />
enter code here
<asp:TemplateField HeaderText="Planting Hatchery">
<ItemTemplate>
<asp:Label ID="lblPlantHatch" runat="server" Text='<%# Eval("HatcheryCodePlant")%>' Visible = "true"></asp:Label>
</ItemTemplate>
<insertItemTemplate>
<asp:DropDownList ID="ddPlantingHatchery" runat="server" DataSource='<%# GetPlantingHatchery()%>'
DataTextField="HatcheryNamePlant" DataValueField="HatcheryCodePlant" width= "150" AppendDataBoundItems="true">
<asp:ListItem Text="Select" Value="" />
</asp:DropDownList>
</insertItemTemplate>
<asp:TemplateField HeaderText="Water Body Name">
<ItemTemplate>
<asp:Label ID="lblStreamName" runat="server" Text='<%# Eval("CatalogNo")%>' Visible = "true"></asp:Label>
</ItemTemplate>
<insertItemTemplate>
<asp:DropDownList ID="ddCatalogName" runat="server" DataSource='<%# GetCatalogNames()%>'
DataTextField="StreamName" DataValueField="CatalogNo" AppendDataBoundItems="true">
<asp:ListItem Text="Select" Value="" />
</asp:DropDownList>
<asp:ObjectDataSource ID="dsWaterBody" runat="server" TypeName="StreamName"
SelectMethod="GetCatalogNames">
<SelectParameters>
<%--<asp:Parameter Name="HatcheryCodetName" Type="string" />--%>
<asp:ControlParameter Name="HatcheryCodePlant" Type="Int32" ControlID="ddPlantingHatchery" PropertyName="SelectedValue"/>
</SelectParameters>
</asp:ObjectDataSource>
</insertItemTemplate>enter code here
代码背后:
Private Sub DetailsView1_ItemInserting(sender As Object, e As DetailsViewInsertEventArgs) 处理 dvSMasterCurrentYear.ItemInserting
Dim ddPlantHatch As DropDownList = TryCast(view.FindControl("ddPlantingHatchery"), DropDownList) e.Values.Add("HatcheryCodePlant", ddPlantHatch.SelectedValue)
Dim ddCatNum As DropDownList = TryCast(view.FindControl("ddCatalogName"), DropDownList) e.Values("HatcheryCodePlant") = DirectCast(DirectCast(sender, DetailsView).FindControl("ddPlantingHatchery"), DropDownList).SelectedValue
谢谢
【问题讨论】:
标签: asp.net detailsview cascadingdropdown