2010-12-14 162 views
0

使用Telerik的面板酒吧如何在这种情况下获得父值(使用Telerik的面板吧)

Html.Telerik().PanelBar() 
    .Name("PanelBar") 
    .BindTo(Model, mappings => 
    { 
     mappings.For<Category>(binding => binding 
       .ItemDataBound((item, category) => 
       { 
        item.Text = category.CategoryName; 
       }) 
       .Children(category => category.Products)); 
     mappings.For<Product>(binding => binding 
       .ItemDataBound((item, product) => 
       { 
        item.Text = product.ProductName; 
       })); 
    }) 

http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-panelbar-data-binding.html

我需要的是基于categoryIDproductID

一个网址即:

.Children(category => category.Products)); 
    mappings.For<Product>(binding => binding 
      .ItemDataBound((item, product) => 
      { 
       item.Text = product.ProductName; 
       item.Url = (Get at the parent to get the categoryid somehow) + "/Details/" + product.productID; 
      })); 

但我不能figur e了解我如何访问任何类别字段。

而且我不能从产品得到它,因为这将是一个一对多的,我就会有product.Categories. LINQ方法

干杯

回答

0

虽然我不想,我设法保存这样的价值:

mappings.For<Category>(binding => binding 
       .ItemDataBound((item, category) => 
       { 
        item.Text = category.CategoryName; 
        item.ActionName = category.CategoryID.ToString(); 
       }) 
       .Children(category => category.Products)); 
     mappings.For<Product>(binding => binding 
       .ItemDataBound((item, product) => 
       { 
        item.Text = product.ProductName; 
        item.Url = item.Parent.ActionName + "/Detail/" + product.ProductID; 
       })); 

不知道是否有人结束了一个清洁的解决方案

相关问题