2014-03-19 170 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語法......? –