asp.net - 使用实体数据源存储过程填充数据列表

时间:2017-02-13 10:44:58

标签: c# sql asp.net sql-server entity-framework

如何使用实体数据源控件填充数据列表存储过程 代码,无法找到任何解决方案。

1 个答案:

答案 0 :(得分:0)

这可能就是你要找的......

我在asp.net中创建了简单的DataList,它使用EntityFramework来填充用户数据。

我假设您已在代码中创建了存储过程/实体..

在ASPX页面设计上..

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

<asp:DataList ID="DataList1" runat="server">
     <ItemTemplate>
        <table class = "table">
            <tr>
                <th colspan="2">
                    <b><%# Eval("UserName") %></b>
                </th>
            </tr>
            <tr>
                <td>
                    IsAdmin:
                </td>
                <td>
                    <%# Eval("IsAdmin")%>
                </td>
            </tr>
            <tr>
                <td>
                    ID:
                </td>
                <td>
                    <%# Eval("UserId")%>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</asp:DataList>
    <asp:Button ID="LoadFromEntity" runat="server" Text="Load From Entites" OnClick="LoadFromEntity_Click" />
    <asp:Button ID="LoatFromStoredProcedure" runat="server" Text="Load From Strored Procedure" OnClick="LoatFromStoredProcedure_Click" />
</asp:Content>

在后端C#上,您需要将此列表绑定到数据源..

protected void LoadFromEntity_Click(object sender, EventArgs e)
        {
            using (UserEntites ObjUserEntities = new UserEntites())
            {
                DataList1.DataSource = ObjUserEntities.UserMasters.ToList();
                DataList1.DataBind();
            }
        }

        protected void LoatFromStoredProcedure_Click(object sender, EventArgs e)
        {
            using (UserEntites ObjUserEntities = new UserEntites())
            {
                List<USP_FetchUserDetails_Result> OBjUserDetails = new List<USP_FetchUserDetails_Result>();
                OBjUserDetails = ObjUserEntities.USP_FetchUserDetails().ToList();
                DataList1.DataSource = OBjUserDetails;
                DataList1.DataBind();
            }
        }

我按照存储过程/实体名称保留了按钮名称,这涵盖了两种情况..

希望这会有所帮助:)

这是输出的样子..

enter image description here