Передача значения из ListView в EntityDataSource - PullRequest
0 голосов
/ 24 января 2011

У меня есть этот код, и мне нужно, чтобы значение "it.MembershipOption.Id" в предложении "where" было <% # Eval ("Id")%> из ListViewEventsOuter.Я пытался добавить Eval в предложении where, но выдает ошибку.

Как это сделать?

<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....

1 Ответ

0 голосов
/ 24 января 2011

Решение:

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

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...