以下内容给我一个错误“服务器标记格式不正确”
<asp:LinkButton ID="DeleteButton" runat="server" CommandName="Delete"
OnClientClick="return confirm('Are you sure you want to delete <%# Eval("Username") %>?');">
Delete
</asp:LinkButton>
(这在显示用户列表的数据绑定(bind) ListView 中使用。当您单击删除按钮时,将使用 JavaScript 确认对话框询问您是否确定)
那么,如何在包含 JavaScript 的字符串中嵌入服务器标记?
最佳答案
问题在于绑定(bind) block 以及单引号和双引号的使用。
<asp:LinkButton D="DeleteButton" runat="server" CommandName="Delete" OnClientClick='<%# CreateConfirmation(Eval("Username")) %>'>Delete</asp:LinkButton>
然后在代码隐藏中添加函数...
Public Function CreateConfirmation(ByVal Username As String) As String
Return String.Format("return confirm('Are you sure you want to delete {0}?');", Username)
End Function
当绑定(bind) block 用作属性的值时,您会注意到必须使用单引号。您的脚本还需要为确认函数的嵌入字符串参数添加引号。您基本上已经用完了报价。
关于asp.net - OnClientClick 中的服务器标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/528066/