服务器标记格式不正确。

3

我在GridView上有以下图像按钮,我想调用OnClientClick来调用带参数的javascript方法。但是我遇到了“服务器标记格式不正确”的错误。我尝试更改双引号为单引号等,仍然存在相同的问题。

OnClientClick="return ConfirmOnDelete('<%#Eval("Name")%>');"

<asp:ImageButton ID="imgDelete" CommandName="Delete" ImageUrl="~/images/fbclose.png" AlternateText="Delete"  runat="server" OnClientClick="return ConfirmOnDelete('<%#Eval("Name")%>');"/> 
2个回答

10

你需要在 OnClientClick 属性周围使用单引号:

OnClientClick='return ConfirmOnDelete(<%#Eval("Name")%>);'

Eval 函数后还有一个孤立的单引号。如果你需要用引号包裹传递给该函数的值,可以这样:

OnClientClick='return confirmOnDelete(\"<%#Eval("Name")%>\");'

另外,他的代码中有一个错误的 ',你去掉了,但没有指出 :) - Michael Jasper
是的,我在我的回答中注意到了,但感谢您指出。 - James Johnson
实际上,你是对的。我在编辑时可能已经删除了关于孤立引用的评论。 - James Johnson
1
将带引号的值传递到函数中,这对我似乎不起作用。相反,该函数的输出类似于confirmOnDelete(&quot;<%# Eval("Name") %>&quot;); - Ciaran Gallagher

0

OnClientClick="return ConfirmOnDelete(<%#Eval("Name")%>')你只有一个单引号在末尾,请将其更改为

OnClientClick='return ConfirmOnDelete(<%#Eval("Name")%>)'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接