Получить данные из объекта с помощью ASP Gridview
Я пытаюсь преобразовать свой Gridview из источника данных SQL в объект, который я храню в качестве переменной Application State.
Я сохранил объект, а затем вызвал его на страницу, с которой я хочу загрузить его
if (Application["AllLeads"] != null)
{
Leads allLeads = Application["AllLeads"] as Leads;
}
Моя текущая сетка объявлена как
<asp:GridView runat="server" class="table" HeaderStyle-ForeColor="White" EmptyDataText="No Leads Found" ShowHeader="true" DataSourceID="Searchdatasource" AllowPaging="True" PageSize="200" AutoGenerateColumns="false" DataKeyNames="ID" ID="gview">
Источник данных:
<asp:SqlDataSource
ID="Searchdatasource"
runat="server"
DataSourceMode="DataSet"></asp:SqlDataSource>
Объект ведет содержит:
public Dictionary<int, LeadModel> LeadList = new Dictionary<int, LeadModel>();
Ведущая модель:
public string LeadName { get; set; }
public string City { get; set; }
public string State { get; set; }
public String LeadZip { get; set; }
public string EventDate { get; set; }
public string Services { get; set; }
public int LeadCost { get; set; }
public int LeadID { get; set; }
public Dictionary<int, string> LOSResponses { get; set; }
public Dictionary<int, bool> QuestionRequired { get; set; }
Я использую текущий источник данных, чтобы получить поля, возвращенные из моего запроса SQL.
Searchdatasource.SelectCommand = "SELECT DISTINCT [tbl_UserEvents].* FROM [tbl_UserEvents] ...;
Я кратко изучил ObjectDataSource, но нашел только больше ссылок на MySQL или вызовов методов. Я не хочу вызывать какие-либо методы, скорее используйте переменную, которая доступна в объекте Lead для автоматического заполнения сетки.
Есть идеи?
Редактировать:
Я понял.:)
Код:
<asp:ObjectDataSource ID="LeadDataSource" runat="server" TypeName="[Proj].Data_Classes.Leads" DataObjectTypeName="[Proj].Data_Classes.LeadModel" SelectMethod="MatchLead">
</asp:ObjectDataSource>
Мой единственный вопрос сейчас заключается в том, как использовать объект, хранящийся в состоянии приложения?
Я считаю, что это может работать:
if (Application["AllLeads"] != null)
{
Leads allLeads = Application["AllLeads"] as Leads;
ObjectDataSource1.TypeName = allLeads.ToString();
}