2016-12-05 33 views
0

我在asp.net mvc我新写这样的代码:
如何将ViewBag设置为Html.ActionLink字符串链接文本争论者?

@foreach (var item in ViewBag.MyList) 
{ 
    @Html.ActionLink(@item.BookName, "Item", new {parentPartId = 0}) 
} 


,但在这一领域:

@item.BookName 


得到这个错误:
enter image description here
哪有我解决了这个问题?谢谢大家。


这是我的控制器代码:

List<StoreList> myList=new List<StoreList>(); 
    foreach (var VARIABLE in query_BookItem) 
    { 
     StoreList myClass = new StoreList(); 
     myClass.BookName = VARIABLE.BookName; 
     myClass.BookText = VARIABLE.BookText; 
     myList.Add(myClass); 

    } 
    ViewBag.MyList = myList; 


+0

它转换为MyList'是什么都型'('ViewBag'是动态的,你不能使用'dynamic'一个' HtmlHelper') –

+0

@StephenMuecke感谢您关注我的问题,请查看我的问题。 –

回答

1

ViewBagdynamic,你不能在HtmlHelper方法使用dynamic。您需要先投的项目StoreList(假设你已包括在视图中@using声明指向组件StoreList是)

@foreach (StoreList item in ViewBag.MyList) 
{ 
    @Html.ActionLink(item.BookName, "Item", new {parentPartId = 0}) 
} 

@foreach (var item in ViewBag.MyList as List<StoreList>) 
{ 
    @Html.ActionLink(item.BookName, "Item", new {parentPartId = 0}) 
} 

@foreach (var item in ViewBag.MyList) 
{ 
    @Html.ActionLink(((StoreList)item).BookName, "Item", new {parentPartId = 0}) 
} 
0

更改:

@Html.ActionLink(@item.BookName, "Item", new {parentPartId = 0}) 


这一解决:

<a href="@Url.Action("Item", "Store", new {parentPartId = 0})">@item.BookName</a> 


相关问题