簡體   English   中英

重定向到另一個頁面之前的事件

[英]Event before redirect to another page

我剛剛開發了一個新的GridView MultiFilter控件(CompositeControl),其工作原理如下圖所示:

多濾鏡圖像

我將ViewState用於控件的屬性,以便在回發后保留所有值。 我想在重定向之前將控件屬性保存到會話中,以便在頁面再次加載時可以將屬性加載回控件。

有沒有人對如何實現這一目標有任何建議?

您必須在此列表頁面中做兩件事:

  • (1)頁面加載
  • (2)搜索點擊

和1件事詳細(重定向)頁面:

  • (3)在返回列表頁面時傳遞一些查詢字符串

(1)在頁面加載過程中,決定加載普通或搜索(從詳細頁面返回)數據

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
    if (Request.QueryString["back"] != null)
        bindDataFirst();
// same data load logic as present
    else
            bindDataForBack();
// you come back from detail page hence bind search & grid data
}

private void bindDataForBack()
    {

strName = Session["SearchName"] == null ? "" : Session["SearchName"].ToString();
// check session search conditions & data and bind

//also bind grid by respective search parameters & search options (top side)

(2)搜索點擊將搜索數據存儲到會話中

public void btnSearch_Click(object sender, System.EventArgs e)
    {

Session["SearchName"] = strName;// store search data into session variables

//bind grid by respective search parameters

(3)在重定向(詳細)頁面中設置后退按鈕,例如:

public void btnBack_Click(object sender, System.EventArgs e)
    {
Response.Redirect("ListPage.aspx?back=1");

希望對您有幫助。 我建議使用一個文本框和網格來實現此目的,然后嘗試當前的情況。

如果可以解決您的問題,請將此答案標記為有用。

您幾乎可以將數據分配給Session,就像分配給ViewState一樣。

就像ViewState一樣,它是鍵值字典。

例如:

Session["someKey"] = "An arbitrary value";

如果可以使用表單提交重定向到另一個頁面,則可以使用頁面的action屬性將表單發布到所需頁面。 這樣,所有控件的值都將在Request [“ KEY NAME HERE”]中可用

<form action="anotherpage.aspx" id="frmData">
<!-- YOUR CONTROLS HERE -->
<input type="submit" value="Submit" />
</fomr>

您也可以使用JS提交表單

$("#frmData").submit();

暫無
暫無

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

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