我正在使用转发器控件,并添加了以下代码段来显示其中一列。我试图在Eval("Comments")
设置的警告框中显示Linkbutton Text。我已经检查了This问题但没有运气。
<asp:LinkButton ID="lnkComments" OnClientClick='<%# "CommentPopup(" + Eval("Comments") + ");" %>' runat="server" Text='<%#Eval("Comments") %>' ></asp:LinkButton>
JS代码
Function CommentPopup (element)
{
alert(element); // For testing purpose
}
单击链接按钮时,不会触发该功能。语法有什么问题吗?
Aaprt从中可以传递像OnClientClick='return CommentPopup(this);'
这样的linkbutton控件,然后使用this.text
或this.val()
访问其文本吗?
更新:Chrome控制台显示
未捕获的SyntaxError:意外的标识符
答案 0 :(得分:1)
&#34;作用&#34;应该是&#34;功能&#34;。打开浏览器的开发人员工具,如果您遇到语法错误,它们会显示在那里。 关于第二个问题,是的,它只是不使用&#34; this.val()&#34;,因为val是一个jQuery方法,而不是本机JavaScript。
答案 1 :(得分:1)
您需要将注释包装在引号中。
在我的经验中,当转义引号时,标记往往会中断,但请尝试下面的代码。
<asp:LinkButton ID="lnkComments" OnClientClick='<%# "CommentPopup(\"" + Eval("Comments") + "\");" %>' runat="server" Text='<%#Eval("Comments") %>' ></asp:LinkButton>
如果它仍然存在问题,您可能需要使用string.format调整字符串的构建,或者在代码隐藏中创建一个公共函数,该函数将注释作为参数,并输出所需的字符串。