1

親メニュー内にjqueryタブがありますが、ページのリダイレクト後も開いているタブを保持したいと思います。

HttpContext.Current.Response.Redirect("~/HRMS/PayrollHome.aspx", false);
4

1 に答える 1

1

セッションでタブが開いたり閉じたりしたときにいつでも保存できます。次に、ページに再度アクセスしたときに、各タブがセッションで開いているものとしてリストされているかどうか、および再度開いているかどうかを確認できます。

編集

私はあなたのコードベースにアクセスできないので、あなたの問題に完全に答えるコードスニペット全体をあなたに与えるのは難しいです。しかし、それはこのようなものになるでしょう。

<ul id="tabs">
  <li onclick="$.get("SaveTab.ashx?tab=1");">Tab 1</li>
  <li onclick="$.get("SaveTab.ashx?tab=2");">Tab 2</li>
</ul>

次に、SaveSessionハンドラーで

<%@ WebHandler Language="C#" Class="SaveTab" %>

using System;
using System.Web;

public class SaveTab: IHttpHandler, System.Web.SessionState.IRequiresSessionState
{

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        if (HttpContext.Current.Request.QueryString["tab"] != null)
        {
            HttpContext.Current.Session["OpenTab"] =         HttpContext.Current.Request.QueryString["tab"];
        }
}

    public bool IsReusable {
        get {
            return false;
        }
    }
}

次に、ASPX出力で、タブを選択するJavascriptを出力します。セッション値を出力していることに注意してください。

$(document).ready(function() {
  $('#tabs').tabs('select', <%= SESSION["OpenTab"]%>);
});

これで一般的な考え方を理解するのに十分だと思います。良いアプローチを示すだけで、どうすればよいかを正確に伝えることはできません。

于 2012-06-22T13:07:56.530 に答える