[英]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.