5

我收到解析器错误消息 The server tag is not wellformed for the following line。

                    <asp:Repeater runat="server" DataSource="<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>">
                    <ItemTemplate>
                        <sc:FieldRenderer ID="FieldRenderer1" runat="server" FieldName="Tag name" Item="<%# Container.DataItem %>"/>
                    </ItemTemplate>
                    <SeparatorTemplate>
                        /
                    </SeparatorTemplate>
                </asp:Repeater>

语法看起来不错,但我不确定的一件事是您是否可以在其中使用 ".Field["tags"] 元素。

我已经尝试查找它,但找不到类似的问题。我希望有人向我提供一些关于解析器为什么抱怨这条线的见解。

谢谢

4

4 回答 4

13

我现在想到的是使用单引号字符串:

<asp:Repeater runat="server" DataSource='<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>' >
于 2012-06-14T18:09:21.043 回答
3

您在属性中有双引号。这让解析器感到困惑——它无法判断属性在哪里结束。

将属性括在单引号中以修复它:

DataSource='<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>'
于 2012-06-14T18:09:29.993 回答
1

尝试 ' 而不是 " 它可能会起作用

否则尝试从后面的代码绑定

<asp:Repeater runat="server" DataSource='<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>' >
于 2012-06-14T18:10:38.900 回答
0

你有结束标签吗?IE

</asp:Repeater>

否则,您在标签声明的末尾缺少 / 。

<asp:Repeater runat="server" DataSource="<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>" />
于 2012-06-14T18:08:45.843 回答