C# 如何在detailview asp.net中添加下拉列表
我试图从“代码隐藏”中访问下拉列表中的值,但出现了以下错误:“ddl_Ext在当前上下文中不存在”。我不知道我在这里做错了什么。。有人能帮忙吗?这是我在aspx文件中的下拉列表。谢谢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
<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;
}