2012-01-18 1 views
0

Asp.net 4.0(C#)では、ページングが有効なグリッドで、別のページから戻るときにテキストボックスの値を保持する方法はありますか。Asp.net 4.0では、ページングが有効なグリッドで、別のページから戻るときにテキストボックスの値を保持する方法はありますか。

  1. 私は別のページに移動し、私は古い/前のページに戻る
  2. 同じことを行う、私は
  3. いくつかのテキストボックスにいくつかの値を入力したラベルとテキストボックス
  4. とのデータバインドされたグリッドを持っていると私テキストボックスでこれらの編集された値を見つけることができませんでした。

グリッド内の複数のページにまたがって移動しても、テキストボックスの値を保持する必要があります。

これを行うには、最も簡単な方法を教えてください。あなたは、たとえば、セッションにデータを格納することができます

protected void grdSgnageEntries_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    try 
    { 
     DataSet ds = new DataSet(); 
     lblErrorMessage.Text = string.Empty; 
     int JkpId = 0, LinkLevelId = 0; 

     if (Convert.ToInt32(ddlSnapShotType.SelectedValue.ToString()) == (int)SnapshotTypes.JackpotHit) 
     { 
      JkpId = Convert.ToInt32(ddlJackpotInstances.SelectedValue.ToString()); 
      LinkLevelId = Convert.ToInt32(ddlLevels.SelectedValue.ToString()); 
     } 
     grdSgnageEntries.PageIndex = e.NewPageIndex; 
     FillSgnageEntriesGrid(LinkLevelId, JkpId); 
     grdSgnageEntries.DataBind(); 
    } 
    catch (FormatException exp) 
    { 
     lblErr.Text = "Invalid Date"; 
     grdSgnageEntries.DataSource = null; 
     grdSgnageEntries.DataBind(); 
     btnSubmit.Visible = false; 
    } 
    catch (Exception exp) 
    { 
     bc.LogExceptionToDB(exp); 
    } 
} 

protected void grdSgnageEntries_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    try 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      ((TextBox)e.Row.FindControl("txtAmount")).Attributes.Add("onkeypress", "javascript:return MyKeyPress();"); 

      if (((TextBox)e.Row.FindControl("txtAmount")).Text != string.Empty) 
      { 
       ((TextBox)e.Row.FindControl("txtAmount")).Enabled = false; 
       btnValidate.Enabled = false; 
      } 
      else 
      { 
       btnValidate.Enabled = true; 
      } 
     } 
    } 
    catch (Exception exp) 
    { 
     bc.LogExceptionToDB(exp); 
    } 
} 
protected void btnGetLevels_Click(object sender, EventArgs e) 
{ 
    DataSet ds = new DataSet(); 

    ds = bc.getJackpotInstancesForSignageEntry(Convert.ToInt32(ddlLinks.SelectedItem.Value), Convert.ToDateTime(txtEntryDate.Text.ToString()), Convert.ToInt32(ddlSnapShotType.SelectedValue.ToString()), LinkLevelId, JkpId); 
    Session["gamingDate"] = Convert.ToDateTime(txtEntryDate.Text.ToString()); 

    if (ds.Tables.Count > 1) 
    { 
     grdSgnageEntries.Columns[0].Visible = true; 
     grdSgnageEntries.DataSource = ds.Tables[2]; 
     grdSgnageEntries.DataBind(); 
     grdSgnageEntries.Columns[0].Visible = false; 
     btnSubmit.Visible = true; 
     btnValidate.Visible = true; 
     btnSubmit.Enabled = false; 
    } 
} 
+0

この

はコードです新しいページをポップアップして閉じます。 –

+0

@WAP Guy - どのように次のページに移動しますか?ボタンをクリックする方法は? – Bibhu

+0

前の次のボタンがあるグリッド内のページを意味します –

答えて

0

:ここ

// Save before going to another page: 
Session["FirstName"] = FirstNameTextBox.Text; 

// Load when coming back to the page: 
FirstNameTextBox.Text = (string)Session["FirstName"]; 

詳細:私はあなたがこれだけ開いて行うことができると思いASP.NET Session State Overview

+0

いいえ、前の次のボタンを持つグリッド内のページ –

関連する問題