2013-03-06 5 views
0

У меня есть ListView, и я использую SelectMethodListView, чтобы заполнить его. Я хочу применить фильтры к данным, возвращаемым с DropDownList. Проблема, с которой я сталкиваюсь, - это я не могу DataBind() на этом ListView из-за используемого SelectMethod.Не удается привязать DataBind к ListView из-за SelectMethod

Так что цифра i меняет это и DataBind() все время вместо использования SelectMethod (это лучше?). Тогда проблема, с которой я сталкиваюсь, это мой метод захвата [RouteData]. Прямо сейчас я захватываю [RouteData] как параметр для моего метода. См. Ниже.

public IQueryable<Product> GetProducts([RouteData] string categoryName, , [RouteData] string brandName, [RouteData] string subCatName) 
{ 
     //Do stuff 
} 

ниже является ListView

<asp:ListView ID="productList" runat="server" 
    DataKeyNames="ProductID" 
    ItemType="E_Store_Template.Models.Product" 
    SelectMethod="GetProducts"> 
     // do stuff 
</asp:ListView> 

Как я могу использовать DataBind() и еще захватить [RouteData] из URL? Или мне нужно использовать QueryString для этого?

ответ

0

Мне удалось захватить данные маршрута, используя приведенный ниже код. Это позволило мне захватить эти данные и использовать Databind() вместо того, чтобы использовать selectmethod для получения этих данных.

Convert.ToString(Page.RouteData.Values["categoryName"]); 



Convert.ToInt32(Page.RouteData.Values["scID"]);