なぜでしょうDataBinder.Evalない仕事
-
27-09-2019 - |
質問
私はリピータを使用した単純なメニューシステムを作成しようとしています。システムでは、私はクラスのサブ項目ごとに異なるフォーマットを使用したいとその「クラス」であればそれをチェックした場合DataBinders結果と枝を使用しようとしていますが、私はコードがコンパイル時には言います:
名前「コンテナ」は宣言されていません。
私は働いていない、それ上の任意の情報を見つけることができませんので、オンラインですべてのチュートリアルでは、とMSDN Container.DataItemはちょうど仕事に想定しています。私はこれを説明するよりも多くのdatabindersを使用して缶誰?
<asp:Repeater ID="TopNavRepeat" runat="server" DataSourceID="SqlDataSource1" >
<HeaderTemplate>
<ul id="nav">
</HeaderTemplate>
<ItemTemplate>
<li>
<asp:HiddenField ID="LinkIdField1" Value='<%# Eval("id") %>' runat="server"
OnDataBinding="LinkIdField_ValueChanged" OnValueChanged="LinkIdField_ValueChanged"/>
<asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("Title") %>' NavigateUrl='<%# Eval("Url") %>'
ToolTip='<%# Eval("Description") %>'>
</asp:HyperLink>
<ul>
<!-- -->
<% If (CStr(DataBinder.Eval(Container.DataItem, "Title")) = "Classes")THEN %>
<asp:Repeater ID="ClassDownList" runat="server" DataSourceID="ClassDS">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<li><asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("name") %>' NavigateUrl='<%# "/Class/" & helpers.urlSafe(CStr(Eval("name"))) %>'
ToolTip='<%# CStr(Eval("name")) & " home page" %>' /></li>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
<% Else %>
<asp:Repeater ID="DropDownList" runat="server" OnLoad="ChildDataList_Init">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<li><asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("Title") %>' NavigateUrl='<%# Eval("Url") %>'
ToolTip='<%# Eval("Description") %>' /></li>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
<%End If %>
</ul>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
解決
私は考えるuは<% If %>
を使用することはできません。の内部にのAリピータ
サーバー側でそれらのいずれかにちょうどセット.Visible=False
や(これは作品かどうかわからない)してみてください。
<asp:Repeater Visible='<%# (CStr(DataBinder.Eval(Container.DataItem, "Title")) = "Classes") %>'>
他のヒント
私はVBの男ではないんだけど、あなたはむしろ比較よりも、割り当てを作っているので、それですか?
<%# If (CStr(DataBinder.Eval(Container.DataItem, "Title")) = "Classes")THEN %>
それはすべきではない。
<%# If (CStr(DataBinder.Eval(Container.DataItem, "Title")) == "Classes")THEN %>
所属していません StackOverflow