如何从DetailsView UpdatePanel中的DropDownList获取SelectedValue?

时间:2014-05-12 00:04:14

标签: updatepanel detailview dropdownlistfor

我正在使用UpdatePanel到DetailsView,其中有一个DropDonwList。 DropDownList工作在DetailView中找到,但我无法从我的Code-Behind文件中的DropDownList获取Selected Value。以下是ASP.NET代码:

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"></asp:ScriptManagerProxy>
  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate> 
<asp:DetailsView ID="detailsView_User" runat="server" AutoGenerateRows="False" 
  DefaultMode="Insert">
  <Fields>
    <asp:BoundField DataField="Name" HeaderText="User Name" SortExpression="Name" ControlStyle-Width="200" />

  <asp:TemplateField>
    <InsertItemTemplate>          
      <asp:DropDownList ID="dropDownList_Agency" runat="server" SelectMethod="GetAllAgency" AutoPostBack="true" OnSelectedIndexChanged="dropDownList_Agency_SelectedIndexChanged"></asp:DropDownList><br />
      <asp:DropDownList ID="dropDownList_Department" runat="server" SelectMethod="GetAllDepartment" AutoPostBack="true"></asp:DropDownList><br />

      <asp:Button ID="button_Cancel" runat="server" Text="Cancel" OnClick="button_Cancel_Click"/>
      <asp:Button ID="button_CreateUser" runat="server" Text="Create User"/>
    </InsertItemTemplate>
 </asp:TemplateField>
 </Fields>

</asp:DetailsView>
      </ContentTemplate>
    <Triggers>
      <asp:PostBackTrigger ControlID="detailsView_User" /> 
    </Triggers>
   </asp:UpdatePanel>

当我尝试使用SelectedValue

dropDownList_Agency.SelectedValue;

我收到此错误:当前上下文中不存在名称'dropDownList_Agency' 我不知道为什么。你对解决方案有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对于所选的值,您需要使用IndexOf:

myDropDown.SelectedIndex = 
myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue"))