3

ac# aspx ページに次のコードがあります。

<ItemTemplate>
    <a <% if(((Dictionary<string, string>)Container.DataItem)["type"]==Session["type"]){%> class="active"<%}%>

このコードは次のエラーを引き起こしています。

Compiler Error Message: CS0117: 'System.ComponentModel.Container' does not contain a definition for 'DataItem'

それはなぜですか? を使用する条件ステートメントを作成するにはどうすればよいContainer.DataItemですか? Container.DataItem内で使用すると完全に機能しますが<%# %>ifステートメントを 内に配置する<%# %>と、次のエラーが発生します。

Compiler Error Message: CS1518: Expected class, delegate, enum, interface, or struct
4

1 に答える 1

4

あなたはこのようなものを持つことができます


<ItemTemplate>
<%# ((Dictionary<string, string>)Container.DataItem)["type"].Equals(Session["type"]) ? 
"<a class='active'>mylink</a>" : 
"<a>mylink</a>" %>

また


<ItemTemplate>
<a class='<%# ((Dictionary<string, string>)Container.DataItem)["type"].Equals(Session["type"]) ? 
"active" : string.Empty" %>'>my link </a>

編集 Equals をソリューションに追加しました

于 2010-04-29T17:21:23.150 に答える