我正在尝试创建一个使用中继器的简单菜单系统。在系统中,我想对类的子项使用不同的格式,并尝试使用一个If,它检查DataBinders结果和分支是否为“class”,但当我编译代码时,代码是:
未声明名称"Container“。
在所有的在线教程和MSDN中,Container.DataItem都是假定工作的,所以我找不到任何关于它不工作的信息。有谁能比我更多地使用数据库绑定器吗?
<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>发布于 2010-10-06 17:38:50
我想你不能在中继器里使用<% If %>
只需在服务器端将.Visible=False设置为其中之一
或者尝试(不确定这是否有效)
<asp:Repeater Visible='<%# (CStr(DataBinder.Eval(Container.DataItem, "Title")) = "Classes") %>'>发布于 2010-10-02 00:21:20
我不是一个喜欢VB的人,但这是不是因为你在进行赋值,而不是比较?
<%# If (CStr(DataBinder.Eval(Container.DataItem, "Title")) = "Classes")THEN %>它不应该是:
<%# If (CStr(DataBinder.Eval(Container.DataItem, "Title")) == "Classes")THEN %>https://stackoverflow.com/questions/3841058
复制相似问题