2014-03-19 172 views
0

所有我想用手代替代码Url.Content而不是使用ViewBag。我怎么能这样做?ViewBag动态网址。内容

<a href="@Url.Content("~/Bike/")">Home</a> 
    <ul> 
     <li> 
      <a href="@Url.Content("~/Bike/Categories/1?name=Mountain Bikes&class=image")">Mountain Bikes</a> 
     </li> 
     <li> 
      <a href="@Url.Content("~/Bike/Categories/2?name=Road Bikes&class=image")">Road Bikes</a> 
     </li> 
     <li> 
      <a href="@Url.Content("~/Bike/Categories/3?name=Touring Bikes&class=image")">Touring Bikes</a> 
     </li> 

    </ul> 

ViewBag:

ViewBag.Menu = BikesDB.ProductSubcategories 
       .Where(m => m.isSelected == true).AsEnumerable() 
       .Select(p => new Bike { 
             Id = p.ProductSubcategoryID, 
             Name = p.NameofBike 
         }); 
+0

可以请你提供一些关于wha的信息你想要吗? – Rahul

+0

...举个例子。目前还不清楚你在问什么。你想使用'ViewBag'还是'Url.Content'帮手? –

+0

'logo'这样的事情。我想用'Url.Content'中的'ViewBag'替换'name'。 –

回答

1

您需要使用该::

<a href="@Url.Content("~/Bike/")">Home</a> 
<ul> 


    @foreach (var item in @ViewBag.Menu) 
    { 
     <li> 
      <a href="@Url.Content("~/Bike/Categories/"+item.ID+"?name="+item.Name+"&class=image")">@item.Name</a> 
     </li> 
    } 

</ul> 

以下因素,因为你所做的ViewBag包含多个表项(即可枚举)

ViewBag.Menu = BikesDB.ProductSubcategories 
       .Where(m => m.isSelected == true).AsEnumerable() 
       .Select(p => new Bike { 
             Id = p.ProductSubcategoryID, 
             Name = p.NameofBike 
         }); 
+0

非常好!它帮助我很多,非常感谢。 –

+0

@TrungPham欢迎您 – Rahul

+0

为什么SO仍然不支持RAZOR语法......? –