Asp.net 服务器标记格式不正确,ASP Repeater数据源
我收到一条解析器错误消息,下面这行的服务器标记格式不正确Asp.net 服务器标记格式不正确,ASP Repeater数据源,asp.net,Asp.net,我收到一条解析器错误消息,下面这行的服务器标记格式不正确 <asp:Repeater runat="server" DataSource="<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>"> <ItemTemplate> <
<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”]元素
我试着查找它,但没有发现类似的问题。我希望有人能给我一些见解,解释为什么解析器会抱怨这一行
谢谢你有结束语标签吗
</asp:Repeater>
否则,您将丢失标记声明末尾的/
<asp:Repeater runat="server" DataSource="<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>" />
我现在想到的是使用单引号字符串:
属性中有双引号。这会混淆解析器-它无法分辨属性的结尾 将属性用单引号括起来以修复它:
DataSource='<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>'
DataSource=''
尝试“而不是”它可能会起作用
否则请尝试从代码背后绑定
<asp:Repeater runat="server" DataSource='<%# ((MultilistField)((Item)Container.DataItem).Fields["Tags"]).GetItems() %>' >
尝试对数据源使用单引号而不是双引号。你们真神奇!真不敢相信我没试过。我试着把里面的双引号改成单引号,但没用。非常感谢大家@STi88-这是因为单引号在C#/VB.NET中不是有效的字符串分隔符。@Oded Yep你是对的,我只是迫切需要一个解决方案。。。不敢相信一想到外面的单报价单就从我身边溜走了。