質問

私はリピータを使用した単純なメニューシステムを作成しようとしています。システムでは、私はクラスのサブ項目ごとに異なるフォーマットを使用したいとその「クラス」であればそれをチェックした場合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 %>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top