2013-03-29 4 views
1

я следующие отношения в моей моделиФильтрация на родителя родителя в динамических данных

Ресторан -> Кухня -> Item

На странице элемента списка, мне нужно, чтобы иметь возможность фильтровать непосредственно ресторан , Как можно было бы это сделать в приложении динамических данных ASP.NET?

ответ

0

Я только что смоделировал вашу проблему, используя EntityDataSource и everithing отлично работает. Рассмотрим два пути решения вашей проблемы.

Первый способ состоит в использовании QueryExtender контроля и SearchExpression. Более подробную информацию вы можете найти по ссылке SearchExpression с примерами.

Настоящий пример этого можно найти в блоге Стива о динамических данных по ссылке Multi-Column Search. А если реализовать подход Стива на ваш сайт динамических данных, все, что вам нужно сделать, это изменить метаданные Item, например,

[MetadataTypeAttribute(typeof(Item.ItemMetadata))] 
[MultiColumnSearch(
    "Item_Name", 
    "Item_Info", 
    "Cuisine.Restaurant.Restaurant_Name")] 
public partial class Item 
{ 
    internal sealed class ItemMetadata 
    { 
     public string Item_Name { get; set; } 
     public string Item_Info { get; set; } 
     public Cuisine Cuisine { get; set; } 
    } 
} 

И теперь вы можете произвести поиск по обычаю List.aspx страницы для Пункт по названию ресторана (например). Это был первый путь.

Второй способ заключается в использовании Где свойство EntityDataSource на ПунктList.aspx страницы.

Простой пример:

<asp:EntityDataSource 
    ID="ItemGridDataSource" 
    runat="server" 
    EnableDelete="true" 
    OnSelecting="ItemGridDataSource_Selecting" 
    OnSelected="ItemGridDataSource_OnSelected" 
    Where="it.Cuisine.Restaurant.Restaurant_IsClose=false" /> 

или вы можете использовать

protected void Page_Load(object sender, EventArgs e) 
{ 
    ItemGridDataSource.WhereParameters.Add(new Parameter("it.Cuisine.Restaurant.Restaurant_Name", TypeCode.String, yourValueFromDropDownForExample)); 
} 

в код-позади.

Дополнительная информация: EntityDataSource

P.S.

Я хотел бы рекомендовать вам большую книгу ASP.NET Dynamic Data Unleashed Олег Сыч, где вы можете найти более подробную информацию о расширенной фильтрации в динамических данных.

Смежные вопросы