使用ASP Gridview从对象获取数据

时间:2015-03-23 21:26:59

标签: c# asp.net gridview application-state

我试图将我的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>

lead对象包含:

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();
}

0 个答案:

没有答案