【问题标题】:passing a value from ListView to EntityDataSource将值从 ListView 传递到 EntityDataSource
【发布时间】:2011-01-24 14:43:52
【问题描述】:

我有这段代码,我需要将“where”子句中的“it.MembershipOption.Id”值作为 ListViewEventsOuter 中的 。我试图在“where”子句中添加 Eval,但它会引发错误。

这是怎么做到的?

<asp:ListView ID="ListViewEventsOuter" runat="server">
    <ItemTemplate>
        <a name='<%# Eval("Id") %>'></a>
        <h3>Events for <%# Eval("Text")%> members</h3>

        <asp:EntityDataSource ID="EntityDataSource1" runat="server" 
        ConnectionString="name=Entities" Include="EventType, MembershipOption" 
        DefaultContainerName="Entities" EntitySetName="Events" 
        EntityTypeFilter="" Select="" Where='it.Active == True && it.MembershipOption.Id == [THIS VALUE TO COME FROM THE PREVIOUS ID IN LISTVIEW]'>
        </asp:EntityDataSource>

        <asp:ListView ID="ListViewEventsInner" runat="server">

              ETC....

【问题讨论】:

    标签: .net entity-framework data-binding


    【解决方案1】:

    解决方案:

    <asp:EntityDataSource ID="EntityDataSource1" runat="server" 
                        ConnectionString="name=Entities" Include="EventType, MembershipOption" 
                        DefaultContainerName="Entities" EntitySetName="Events" 
                        EntityTypeFilter="" Select="" Where='it.Active == True && it.MembershipOption.Id == @membershipOptionId'>
                        <WhereParameters>
                            <asp:Parameter Name="membershipOptionId" DbType="Int32" DefaultValue="2" />
                        </WhereParameters>
                    </asp:EntityDataSource>
    
    
    protected void ListViewEventsOuter_ItemDataBound(object sender, ListViewItemEventArgs e)
            {
                ListViewDataItem item = (ListViewDataItem)e.Item;
                MembershipOption m = (MembershipOption)item.DataItem;
                string membershipOptionId = m.Id.ToString();
    
                EntityDataSource entityDataSource1 = (EntityDataSource)e.Item.FindControl("EntityDataSource1");
                Parameter parameter = entityDataSource1.WhereParameters[0];
                parameter.DefaultValue = membershipOptionId.ToString();
    
            }
    

    【讨论】:

      猜你喜欢
      • 2015-02-03
      • 2015-05-19
      • 2015-06-10
      • 2017-12-02
      • 1970-01-01
      • 2017-05-20
      • 2017-07-27
      • 2018-05-28
      • 1970-01-01
      相关资源
      最近更新 更多