服务器标签没有格式错误

时间:2013-03-07 18:10:10

标签: c# asp.net

我写了这段代码。该代码包含预期的runat =“server”属性,但它给出了以下错误消息:error on hiddenfield part。

 <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <asp:HiddenField ID="HiddenField1" Value="<%#Eval("Path")%>" runat="server" />
        <img alt="image" style="text-align: center" src="<%#Eval("Path")%>" /><asp:CheckBox
            ID="CheckBox1" runat="server" />
        <br></br>
    </ItemTemplate>
</asp:Repeater>                  

3 个答案:

答案 0 :(得分:88)

您不能在双引号内使用双引号,因此请使用 double quotes的组合。

更改

<asp:HiddenField ID="HiddenField1" Value="<%#Eval("Path")%>" runat="server" />

<asp:HiddenField ID="HiddenField1" Value='<%#Eval("Path")%>' runat="server" />

答案 1 :(得分:5)

在使用eval scriptlet时尝试使用单引号而不是双引号,如下所示:

 <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <asp:HiddenField ID="HiddenField1" Value='<%#Eval("Path")%>' runat="server" />
        <img alt="image" style="text-align: center" src='<%#Eval("Path")%>' /></a><asp:CheckBox
            ID="CheckBox1" runat="server" />
        <br></br>
    </ItemTemplate>
</asp:Repeater>   

我真的不明白为什么需要这样做的原因,但这才有效。

答案 2 :(得分:1)

由于引号,我遇到了同样的错误,这就是我修复我的方法

    OnClientClick='<%# "CallToFunc("+ Eval("Val") + 
    ",\"" + Eval("StringVal")  + "\");return false;"