Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 如何在detailview asp.net中添加下拉列表_C#_Asp.net_Dropbox - Fatal编程技术网

C# 如何在detailview asp.net中添加下拉列表

C# 如何在detailview asp.net中添加下拉列表,c#,asp.net,dropbox,C#,Asp.net,Dropbox,我试图从“代码隐藏”中访问下拉列表中的值,但出现了以下错误:“ddl_Ext在当前上下文中不存在”。我不知道我在这里做错了什么。。有人能帮忙吗?这是我在aspx文件中的下拉列表。谢谢 <asp:TemplateField HeaderText="Is this external?"> <ItemTemplate> <asp:Label ID="lblExt" runat="server" Text='<%# DataBinder

我试图从“代码隐藏”中访问下拉列表中的值,但出现了以下错误:“ddl_Ext在当前上下文中不存在”。我不知道我在这里做错了什么。。有人能帮忙吗?这是我在aspx文件中的下拉列表。谢谢

  <asp:TemplateField HeaderText="Is this external?">
       <ItemTemplate>
       <asp:Label ID="lblExt" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Ext") %>'></asp:Label>
          </ItemTemplate>
           <EditItemTemplate>
           <asp:DropDownList ID="ddl_Ext" runat="server"
                AutoPostBack="false" AppendDataBoundItems="true">
          <asp:ListItem Text="Please select ..." Value="Please Select ..."></asp:ListItem>
          <asp:ListItem Text="Yes" Value="Yes"></asp:ListItem>
          <asp:ListItem Text="No" Value="No"></asp:ListItem>

          </asp:DropDownList>
          </EditItemTemplate>
   </asp:TemplateField>

试试这个:

protected void DV_WScript_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
        //Put here if you want to find control of your Insert Mode
           DropDownList dropDown = (DropDownList)DetailsView1.FindControl("ddl_Ext");
           string Ext = dropDown.selectedValue;

}

您试图从代码隐藏中的何处访问它?您需要找到控件并将其强制转换为
DropDownList dropDown=(DropDownList)DetailsView1.FindControl(“ddlName”)
这是因为它位于
TemplateField
EditItemTemplate
中。您需要通过
行[{index}].FindControl(“ddl_Ext”)
访问它。感谢各位,我刚刚更新了我的初始帖子,添加了我试图使用的代码。感谢Val,您的解决方案似乎起到了作用。
protected void DV_WScript_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
        //Put here if you want to find control of your Insert Mode
           DropDownList dropDown = (DropDownList)DetailsView1.FindControl("ddl_Ext");
           string Ext = dropDown.selectedValue;

}