【发布时间】:2015-08-19 10:53:46
【问题描述】:
我所说的“this”是下面 createDiv 函数调用的第一个参数。所以它基本上是被点击的链接按钮。
<asp:LinkButton ID="btn_ReportReply1" runat="server" class="btn btn-danger btn-xs" Text="ReportReply" OnClientClick='<%# String.Format("createDiv(this," + Eval("UniqueNo") +","+ Eval("CommentSeqNo") + "," + Eval("UserNo") + ", \"{0}\");", Eval("LoginID")) %>' ></asp:LinkButton>
现在我想用“这个”按钮做的是我想调用 Bootstrap .popover() 到它。所以下面我试图获取 btn 的 ClientID 并执行 .popover() 但红色下划线显示在 btn.ClientID 下。而且我不能使用按钮的类,因为有几个按钮具有相同的类。
function createDiv(btn, ReplyNo, CommentSeqNo,ReportedUserNo, LoginID) {
$('#' + '<%= btn.ClientID %>').popover({
trigger: 'manual',
placement: 'left',
content: vType + vContent
});
$('#' + '<%= btn.ClientID %>').popover("show");
}
【问题讨论】:
-
如果你
console.log(btn)- 它是什么? -
您的 JavaScript 是否在 *.aspx、*.ascx 或 *.master 页面中?如果没有,它可能不会在服务器端执行。另外,您不需要使用字符串连接,因为 ClientID 是在服务器端注入的。
-
javascript:__doPostBack('ctl00$MainContent$ListView1$ctrl0$btn_reportReply2',")
-
另外,这里有一些混淆,因为您将 btn 称为客户端函数参数,但将其称为服务器端控件标识符。两者兼有是没有意义的,因为后者会阻止它成为参数。如果需要作为参数,则 调用需要在每个函数调用中作为第一个参数。
标签: javascript jquery asp.net twitter-bootstrap