我写了这段代码。该代码包含预期的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>
答案 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;"