43

我写了这段代码。该代码包含预期的 runat="server" 属性,但它给了我这个错误消息:error on hiddenfieldpart.

 <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>                  
4

4 回答 4

114

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

改变

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

<asp:HiddenField ID="HiddenField1" Value='<%#Eval("Path")%>' runat="server" />
于 2013-03-07T18:11:56.703 回答
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>   

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

于 2013-03-07T18:13:53.453 回答
1

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

    OnClientClick='<%# "CallToFunc("+ Eval("Val") + 
    ",\"" + Eval("StringVal")  + "\");return false;"'
于 2018-02-12T11:56:53.823 回答
0

您不能runat在 html 注释中包含。

(不是本题的问题,但与本题的题目相符)

假设您有一个想要“注释掉”的 ASP 控件,那么您最终可能会得到一个根本无法显示的页面,如果幸运的话,会出现“服务器标签格式不正确”异常,或者一个简单的 404-not found 状态码。

修复:更改 runat,例如:

<!-- asp.Label   runatX="server" ... -->
于 2021-11-15T17:00:49.673 回答