I've got a set of cascading dropdowns, but I want the default selectedvalue to be there when when page loads though. Right now, my dropdownlist is defaulting to the first value in the DDL. (ASP.NET C#)
and the code (issue is with the "DDL_Assignment" dropdown)...
<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>
behind code "posRow.Assignment" outputs the correct value... the dropdownlist just isn't taking it in for some reason
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();
let me know if any other details are needed
needed to databind before each ddl
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.DataBind();
DDL_Occupation.SelectedValue = posRow.Position;
DDL_Assignment.DataBind();
DDL_Assignment.SelectedValue = posRow.Assignment;
TB_Replaced.Text = posRow.IsReplacedNull() ? null : posRow.Replaced;
DDL_PositionDays.DataBind();
DDL_PositionDays.SelectedValue = posRow.PositionDays.ToString();
DDL_ContractDays.DataBind();
DDL_ContractDays.SelectedValue = posRow.ContractDays.ToString();
DDL_PositionHours.DataBind();
DDL_PositionHours.SelectedValue = posRow.PositionHours.ToString();