Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DropDownList重置为第一项_C#_Asp.net_Webforms - Fatal编程技术网

C# DropDownList重置为第一项

C# DropDownList重置为第一项,c#,asp.net,webforms,C#,Asp.net,Webforms,我有两个绑定到objectdatasource的DropDownList <asp:DropDownList ID="ddlProgram" runat="server" DataSourceID="ProgramsDS" DataTextField="NAME" DataValueField="ID" AutoPostBack="True" OnSelectedIndexChanged="ddlProgram_SelectedIndexChanged"> &

我有两个绑定到objectdatasource的DropDownList

<asp:DropDownList ID="ddlProgram" runat="server" DataSourceID="ProgramsDS" 
     DataTextField="NAME" DataValueField="ID" AutoPostBack="True" 
     OnSelectedIndexChanged="ddlProgram_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="ProgramsDS" runat="server" 
     OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
     TypeName="WebAdminTools.DATA.DSTableAdapters.ProgramTA" 
     UpdateMethod="Update">
</asp:ObjectDataSource>
<br/>
<asp:DropDownList runat="server" ID="ddlVersion" AutoPostBack="True" 
     OnSelectedIndexChanged="ddlVersion_SelectedIndexChanged" Width="158px" 
     DataSourceID="VersionDS" DataTextField="VERSION" 
     DataValueField="PROGRAM_ID"/>
<asp:ObjectDataSource ID="VersionDS" runat="server" 
     OldValuesParameterFormatString="original_{0}" 
     SelectMethod="GetData" 
     TypeName="WebAdminTools.DATA.DSTableAdapters.UpdateTA">
    <SelectParameters>
        <asp:ControlParameter ControlID="ddlProgram" DefaultValue="0" 
             Name="P_ID" PropertyName="SelectedValue" Type="Int32"/>
    </SelectParameters>
</asp:ObjectDataSource>

我想这是因为回邮。如果您正在表单加载时将值设置为dropdownlist,请确保将其放入if(!Page.IsPostBack)中。

显示
ddlVersion\u SelectedIndexChanged
我在此处设置了断点。我已经用Ajax控件工具包级联DropDownlistu解决了这个问题。你是否将autopostback设置为true?关于你在selectedindexchange上设置的断点,它在你打开它之前不会触发。在你更改Dropdown2后页面是否重新加载?看起来什么都没有发生。但如果我尝试导航回第二个下拉列表,则将选定索引设置为最后一项
protected void ddlVersion_SelectedIndexChanged(object sender, EventArgs e)
{
    GetCompaniesForUpdate();
}

private void GetCompaniesForUpdate()
{
    ProgramVersionTA ta = new ProgramVersionTA();
    var dt = new DS.ProgramsVersionsDataTable();
    ta.Fill(dt, Convert.ToInt32(ddlVersion.SelectedValue));
    var selectedVersion = Version.Parse(ddlVersion.SelectedValue);
    var companyForUpdate = dt.Where(c => Version.Parse(c.MAX_AVAILABLE_VERSION) > selectedVersion
                                         && Version.Parse(c.VERSION) < selectedVersion);
    lbCompanies.DataSource = companyForUpdate;
    lbCompanies.DataMember = "NAME";
    lbCompanies.DataBind();
}