[英]How to keep a tab active after asp.net button event?
我想知道如何在按鈕回發事件后保持選項卡打開,但我無法使用 HiddenFields 使其正常工作。 我希望第二個選項卡在第二個選項卡上單擊按鈕后保持打開狀態,但是我的代碼將始終刷新到第一個選項卡。
我還嘗試使用更新面板而不是刷新整個頁面,但是使用此方法無法正確切換選項卡。
我不希望每次點擊標簽時都回發,因為它會影響用戶體驗。 有沒有其他代碼可以在不影響褪色美感的情況下做到這一點?
$(function () { $('.tab-content:first-child').show(); $('.tab-nav').bind('click', function (e) { $this = $(this); $tabs = $this.parent().parent().next(); $target = $($this.data("target")); $this.siblings().removeClass('active'); $target.siblings().css("display", "none"); $this.addClass('active'); $target.fadeIn("slow"); }); $('.tab-nav:first-child').trigger('click'); });
<ul class="tabs-nav d-flex" style="padding-left: 35px;"> <li class="tab-nav d-flex justify-content-center align-items-center" data-target="#tab_1">Overview</li> <li class="tab-nav d-flex justify-content-center align-items-center" data-target="#tab_2">Expenses</li> </ul> <div id="tab_1" class="tab-content"> <p>abc</p> </div> <div id="tab_2" class="tab-content"> <p>abc</p> <asp:Button ID="saveexpense" runat="server" Text="Save"/> </div>
您最好創建一個 Web 方法並從您的 jQuery 調用它,而不是嘗試使用更新面板進行某些操作。 特別是考慮到更新面板可能導致的性能問題。
您可以將保存功能移動到這樣的網絡方法中
[WebMethod]
public static void SaveExpense(string data, string moredata)
{
//your save code here
}
在你的前端有類似的東西
<button id="saveexpense">Save</button>
然后你可以像這樣調用你的 webmethod
$('#saveexpense').click(function () {
$.ajax({
type: "POST",
url: "CurrentPage.aspx/SaveExpense",
data: JSON.stringify({ data: $("#textbox").val(), moredata: $("#textbox2").val() }) ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
console.log("data saved");
},
error: function (jXHR, textStatus, err) {
console.log(err);
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.