gpt4 book ai didi

c# - 使用 EntityDataSource 和 WHERE 过滤数据

转载 作者:太空狗 更新时间:2023-10-29 21:10:52 24 4
gpt4 key购买 nike

您好,我有一个 EntityDataSource。

我需要以编程方式发送一个变量 (@SelectedValue),以便在 EntityDataSource 的 WHERE 过滤器中使用。

你能发布一个简单的核心来告诉我怎么做吗?感谢您的宝贵时间!

要在 EntityDataSource 上创建 WhereParameters,我使用以下代码:

            Parameter parameter = new Parameter("SelectedValue", TypeCode.Int32, uxTreeView1.SelectedValue);
parameter.DefaultValue = "0";
uxEntityDataSourceNodes.WhereParameters.Add(parameter);`

这里是控件的代码:

        <asp:EntityDataSource ID="uxEntityDataSourceNodes" runat="server" 
ConnectionString="name=TestHierarchyEntities"
DefaultContainerName="TestHierarchyEntities" EnableFlattening="False"
EnableUpdate="True" EntitySetName="CmsCategories" Where="it.CategoryId = @SelectedValue"
EntityTypeFilter="" Select="">
</asp:EntityDataSource>

最佳答案

读这个?

The Entity Framework and ASP.NET - Filtering, Ordering, and Grouping Data


更新:Northwind 产品和类别表的示例。
DropDownList 列出类别,GridView 显示按类别筛选的产品。

ASPX

<asp:DropDownList ID="uxTreeView1" runat="server" 
AutoPostBack="true"
AppendDataBoundItems="true"
DataSourceID="EntityDataSource1"
DataTextField="CategoryName"
DataValueField="CategoryID"
OnSelectedIndexChanged="uxTreeView1_SelectedIndexChanged">
<asp:ListItem Text="Select Category" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ConnectionString="name=NorthwindEntities"
DefaultContainerName="NorthwindEntities" EnableFlattening="False"
EntitySetName="Categories" Select="it.[CategoryID], it.[CategoryName]">
</asp:EntityDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataSourceID="EntityDataSource2"
DataKeyNames="ProductID">
<Columns>
<asp:BoundField DataField="ProductName" HeaderText="ProductName"
ReadOnly="True" SortExpression="ProductName" />
<asp:BoundField DataField="CategoryID" HeaderText="CategoryID"
ReadOnly="True" SortExpression="CategoryID" />
</Columns>
</asp:GridView>
<asp:EntityDataSource ID="EntityDataSource2" runat="server"
ConnectionString="name=NorthwindEntities"
DefaultContainerName="NorthwindEntities" EnableFlattening="False"
EntitySetName="Products"
Select="it.[ProductID], it.[ProductName], it.[CategoryID]">
</asp:EntityDataSource>

ASPX.CS

protected void uxTreeView1_SelectedIndexChanged(object sender, EventArgs e)
{
EntityDataSource2.WhereParameters.Clear();
EntityDataSource2.AutoGenerateWhereClause = true;
//alternatively
//EntityDataSource2.Where = "it.[CategoryID] = @CategoryID";
EntityDataSource2.WhereParameters.Add("CategoryID", TypeCode.Int32, uxTreeView1.SelectedValue);
}

这是您要找的吗?

关于c# - 使用 EntityDataSource 和 WHERE 过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4668270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com