我有一个ListView
,我使用SelectMethod
的{{1}}来填充它。我希望将过滤器应用于从ListView
返回的数据。我面临的问题是我DropDownList
因DataBind()
使用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来执行此操作?
答案 0 :(得分:0)
我可以使用下面的代码获取路线数据。这允许我获取该数据并使用Databind()而不必使用select方法来获取此数据。
Convert.ToString(Page.RouteData.Values["categoryName"]);
Convert.ToInt32(Page.RouteData.Values["scID"]);