Я не уверен, какова ваша ситуация.У вас есть что-то вроде этого?
namespace WebApplication1
{
public class Person
{
private string name;
public string Name
{
set
{
name = value;
}
get
{
return name;
}
}
public List<Person> GetAll()
{
List<Person> persons = new List<Person>();
Person p1 = new Person();
p1.Name = "John";
persons.Add(p1);
return persons;
}
}
}
<form id="form1" runat="server">
<div>
<asp:GridView runat="server" ID="dataGrid" AutoGenerateColumns="false" DataSourceID="persons">
<Columns>
<asp:BoundField HeaderText="Person Name" DataField="Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList runat="server" DataTextField="Name" DataSourceID="persons"></asp:DropDownList>
<asp:ObjectDataSource runat="server" ID="persons" TypeName="WebApplication1.Person" SelectMethod="GetAll"></asp:ObjectDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource runat="server" ID="persons" TypeName="WebApplication1.Person" SelectMethod="GetAll"></asp:ObjectDataSource>
</div>
</form>
Это веб-форма с gridview, которая имеет «дочерний» источник данных, указывающий на класс Person и его метод GetAll.Никаких проблем не возникает.Пожалуйста, оставьте полную разметку с вашей ситуацией.
Редактировать
Если у вас есть что-то вроде этого:
<asp:ListView runat="server" ID="lv" DataSourceID="SqlDataSource1">
<LayoutTemplate><div runat="server" id="itemPlaceholder"></div></LayoutTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Name") %>'></asp:Label>
<asp:Button runat="server" CommandName="Edit" Text="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Name") %>'></asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="Name" DataSourceID="SqlDataSource1"></asp:DropDownList>
<asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader"
ConnectionString="<%$ ConnectionStrings:SqlConnectionString%>" SelectCommand="SELECT Name FROM Person">
</asp:SqlDataSource>
</EditItemTemplate>
</asp:ListView>
<asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataReader"
ConnectionString="<%$ ConnectionStrings:SqlConnectionString%>" SelectCommand="SELECT Name FROM Person">
</asp:SqlDataSource>
у вас не должно быть никакихпроблемы тоже.Я предполагаю, что вы рисуете данные из таблицы с именем «Персона».Пожалуйста, покажите ваш особый случай, поскольку это, конечно, простая настройка.