asp.net - OnClientClick 中的服务器标记

标签 asp.net

以下内容给我一个错误“服务器标记格式不正确”

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

相关文章:

c# - 变量状态

c# - 在 Chrome 中更新谷歌翻译 cookie 时出现问题

asp.net - IIS 7.5 路由不工作(测试所有常用方法)

asp.net - 是在 64 位 Windows 上运行的 32 位 ASP.NET 应用 LARGEADDRESSAWARE

c# - 使用 .NET 进行 Excel 文件解析/抓取

c# - 来自隐藏字段值和额外字符串的 CSS href 路径

c# - 我们应该使用 Eval 还是 Databind 事件?

c# - 为什么 PartialView 一直在调用自己?

c# - 从数组列表中获取字典

asp.net - 在 ckeditor 中显示链接