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

以下给出了“服务器标签格式不正确”的错误
<asp:LinkButton ID="DeleteButton" runat="server" CommandName="Delete" 
    OnClientClick="return confirm('Are you sure you want to delete <%# Eval("Username") %>?');">
    Delete
</asp:LinkButton>

(这在用于显示用户列表的数据绑定ListView中使用.当您单击删除按钮时,将使用JavaScript确认对话框询问您是否确定)

那么,如何在包含JavaScript的字符串中嵌入服务器标签?

解决方法

问题是绑定块和单引号和双引号的使用.
<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

当绑定块用作属性的值时,您将注意到必须使用单引号.您的脚本还需要使用confirm函数的嵌入字符串参数的引号.你基本上用完了报价.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....