我有一组级联下拉菜单,但我希望在页面加载时默认的 selectedvalue 存在。现在,我的下拉列表默认为 DDL 中的第一个值。(ASP.NET C#)
和代码(问题在于“DDL_Assignment”下拉菜单)......
<tr>
<td>
<b>Position Type:</b>
</td>
<td>
<asp:Label ID="Lbl_PositionType" runat="server" />
</td>
</tr>
<tr id="TR_Occupation" runat="server">
<td>
<b>Select Occupation:</b>
</td>
<td>
<asp:DropDownList ID="DDL_Occupation" runat="server" DataSourceID="DataSource_Occupation" DataTextField="Position" DataValueField="Position"
AutoPostBack="True" OnSelectedIndexChanged="DDL_Occupation_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="DataSource_Occupation" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetPositions"
TypeName="HumanResourceTableAdapters.PositionTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="Lbl_PositionType" Name="PositionType"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:TextBox ID="TB_Occupation" runat="server" />
</td>
</tr>
<tr>
<td>
<b>Select Assignment Name:</b>
</td>
<td>
<asp:UpdatePanel ID="UP_Assignment" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DDL_Assignment" runat="server"
AutoPostBack="True"
OnSelectedIndexChanged="DDL_Assignment_SelectedIndexChanged" />
<asp:ObjectDataSource ID="DataSource_Assignment" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetAssignments"
TypeName="HumanResourceTableAdapters.PositionTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="DDL_Occupation" Name="Position"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="Lbl_PositionType" Name="PositionType"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="DataSource_AssignmentHourly" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetAssignmentByPosType"
TypeName="HumanResourceTableAdapters.PositionTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="Lbl_PositionType" Name="PositionType"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:TextBox ID="TB_Assignment" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DDL_Occupation" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</td>
</tr>
在代码“posRow.Assignment”后面输出正确的值......下拉列表由于某种原因没有接受它
Position1TableAdapter position1TableAdapter =
new Position1TableAdapter();
HumanResource.Position1Row posRow =
position1TableAdapter.GetData(Convert.ToInt32(Request.QueryString["PositionID"]))[0];
DDL_Assignment.DataTextField = "AssignmentName";
DDL_Assignment.DataValueField = "AssignmentName";
DDL_Assignment.DataSourceID = "DataSource_Assignment";
DDL_Occupation.SelectedValue = posRow.Position;
DDL_Assignment.SelectedValue = posRow.Assignment;
TB_Assignment.Text = posRow.Assignment;
TB_Replaced.Text = posRow.Replaced;
DDL_PositionDays.SelectedValue = posRow.PositionDays.ToString();
DDL_ContractDays.SelectedValue = posRow.ContractDays.ToString();
DDL_PositionHours.SelectedValue = posRow.PositionHours.ToString();
DDL_Location.SelectedValue = posRow.Location.ToString();
TB_Contract.Text = posRow.IsContractInformationNull() ? null : posRow.ContractInformation;
DDL_1yrContractReason.SelectedValue = posRow.Isposition_1yrcntrctrsnIDNull() ? null : posRow.position_1yrcntrctrsnID.ToString();
RBL_Administrator.SelectedValue = posRow.Administrator.ToString();
RBL_CertifiedSalarySchedule.SelectedValue = posRow.clas_CertifiedScheduleInd.ToString();
RBL_OvertimeExempt.SelectedValue = posRow.position_OvertimeExemptInd.ToString();
RBL_ExtendedContractExempt.SelectedValue = posRow.position_ExtContractExemptInd.ToString();
RBL_LongevityException.SelectedValue = posRow.Longevity_Exception_Indicator.ToString();
RBL_NoStepIncrease.SelectedValue = posRow.position_NoStepInd.ToString();
RBL_JobShare.SelectedValue = posRow.position_JobShareInd.ToString();
让我知道是否需要任何其他详细信息