由于SelectMethod,无法将DataBind导入ListView

时间:2013-03-06 14:59:18

标签: c# asp.net linq routedata

我有一个ListView,我使用SelectMethod的{​​{1}}来填充它。我希望将过滤器应用于从ListView返回的数据。我面临的问题是我DropDownListDataBind()使用ListView而无法SelectMethod

所以我想改变那个和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]?或者我是否必须使用QueryString来执行此操作?

1 个答案:

答案 0 :(得分:0)

我可以使用下面的代码获取路线数据。这允许我获取该数据并使用Databind()而不必使用select方法来获取此数据。

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



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