由于SelectMethod,无法绑定到ListView

本文关键字:绑定 ListView SelectMethod 由于 | 更新日期: 2023-09-27 18:02:47

我有一个ListView,我使用ListViewSelectMethod来填充它。我希望将过滤器应用于从DropDownList返回的数据。我面临的问题是,由于使用SelectMethod,我不能在这个ListViewDataBind()

所以图我将改变这一点和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(),仍然从URL抓取[RouteData] ?或者我必须使用QueryString来做到这一点?

由于SelectMethod,无法绑定到ListView

我可以使用下面的代码获取路由数据。这使我能够获取该数据并使用Databind(),而不必使用selectmethod来获取该数据。

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

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