如何访问'this'control's clientID或者只是在jscript中执行Boots

how do you access 'this' control's clientID or just do Bootstrap's .popover() in jscript

本文关键字:或者 Boots 执行 jscript clientID control 何访问 访问 this      更新时间:2023-09-26

我所说的'this'是下面createDiv函数调用的第一个参数。它基本上就是被点击的LinkButton。

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

现在我想用'this'按钮做的是,我想调用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");

}

OnClientClick在DOM对象上呈现为onclick。该作用域中的this是DOM对象本身,因此您可以使用btn.id来获得ClientID或简单地在函数中使用$(btn)

下面是一个示例:

标记
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="Scripts/jquery-1.7.1.js"></script>
    <script type="text/javascript">
        function createDiv(btn) {
            $(btn).text($(btn).attr('id'));
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater runat="server" ID="List">
            <ItemTemplate>
                <div>
                    <asp:LinkButton ID="thisIsMyId" Text="<%# Container.DataItem %>" runat="server" OnClientClick="createDiv(this); return false;" />
                </div>
            </ItemTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>

背后的代码
using System;
namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List.DataSource = new string[] { "TEST1", "TEST2" };
            this.DataBind();
        }
    }
}
相关文章: