簡體   English   中英

從后面的代碼執行JS功能(帶參數)

[英]Execute JS function from Code behind (with Parameter)

我正在研究一些代碼,該代碼可加載頁面並選擇所需的導航標簽。 這在.aspx文件中很好用,但是我不知道如何用后面的代碼觸發。

這是我要選擇的元素

<li class="nav-item" runat="server">                    
  <a  class="nav-link" id="pills-request-tab" data-toggle="pill" href="#pills-request" role="tab" aria-controls="pills-request" aria-selected="false" onclick="OnTabChange(this)">Request</a>
</li>

JS代碼


$(document).ready(function () {
    debugger;
    var tabName = $("#TabName").val() != "" ? $("#TabName").val() : "pills-home";
    $('.tab-content div').removeClass('active').removeClass('show');
    $('#' + tabName + '-tab').addClass('active');
    $('#' + tabName).addClass(' show active');
    if ($("#TabName").val() != "" && $("#TabName").val() != "1") {
        ("#pills-user-tab").addClass(' admin');
        ("#pills-holiday-tab").addClass(' admin');
        ("#pills-add-tab").addClass(' admin');
    }
});
function OnTabChange(currentTab) {
    if (currentTab != null)
        console.log(currentTab);
        $("#TabName").val(currentTab.id.replace('-tab', ''));
}

后面的代碼

Page.ClientScript.RegisterStartupScript(this.GetType(), "pills-request-tab", OnTabChange(this), true);

我知道后面代碼中的參數不是OnTabChange(this)。 我想知道如何從后面的代碼傳遞對象。

您只需像這樣調用OnTabChange 只有this行不通的。 您將需要傳遞一個字符串。

Page.ClientScript.RegisterStartupScript(this.GetType(), "pills-request-tab", "OnTabChange('tabID')", true);

解決方案如下所示:

Page.ClientScript.RegisterStartupScript(this.GetType(), "pills-request-tab", "OnTabChange(<a  class='nav-link' id='pills-request-tab' data-toggle='pill' href ='#pills-request' role ='tab' aria-controls='pills-request' aria-selected='false' onclick ='OnTabChange(this)' > Request</a>)", true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM