2016-12-05 12 views
0

私はasp.net mvcで新たなんだと、このコードを書く:このエラーが出る
どのようにViewBagをHtml.ActionLink文字列リンクテキストの引数に設定できますか?

@item.BookName 



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


が、このセグメントでの
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

HtmlHelper') –

+0

@StephenMuecke私の問題に注意を払ってくれてありがとう、私の質問を確認してください。 –

答えて

1

ViewBagdynamicで、あなたはHtmlHelper方法でdynamicを使用することはできません。あなたは

@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}) 
} 
(あなたは StoreListがであることをアセンブリを指すようにビューで @using声明が含まれていると仮定し)最初 StoreListに項目をキャストする必要があります
0

変更:

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


これに と解決:
( `ViewBag`は動的であり、あなたは`に `dynamic`を使用することはできませんMyList``でタイプがあり、これまで何にキャスト

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


関連する問題