[英]ViewState in GridView ASP.Net
我有一個網格視圖連接到aspx代碼中的數據源。 選定的gridview行在按鈕上的clcik中隱藏。 我想永久隱藏該行,即使用戶注銷並且隱藏的行中的日志也不應顯示。 我曾嘗試使用ViewState,但它不起作用。 任何人都對如何實現這一目標有任何想法。
我的GridView:
edit Select Approve data 1 data 2 data 3
當用戶單擊“選擇”並且“批准”按鈕時,該行被隱藏。 我希望所有行都被調用,除了被單擊的行之外,被單擊的行根本不應該顯示。 我做了一些研究,發現ViewState是最好的,但不知道如何實現。
我的后台代碼:
SqlConnection con = new SqlConnection("Data Source=User-PC\\User;Initial Catalog=Subject Registration System;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (Session["username"] != null)
{
Label1.Text = Session["username"].ToString();
}
con.Open();
SqlCommand cmd = new SqlCommand("SELECT FullName FROM [Programme Leader] WHERE Username= '" + Label1.Text + "'", con);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
Label1.Text = reader["FullName"].ToString();
reader.Close();
con.Close();
if (!Page.IsPostBack)
{
string gd;
gd = (string)ViewState["Gridview"];
}
Panel2.Visible=true;
Panel3.Visible = false;
}
protected void DDL1_SelectedIndexChanged(object sender, EventArgs e)
{
Panel2.Visible = true;
}
protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)
{
Panel2.Visible = true;
GridView2.DataBind();
}
protected void GridView2_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
Panel2.Visible = true;
GridView2.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.SelectedRow.Visible = false;
ViewState["gridview"]=GridView1;
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("~/Programme Leader Front Page.aspx");
}
}
}
謝謝
如果隱藏的行與特定用戶相關聯,則可以將該行保留到數據庫中。 因此,新表將包含來自gridview的行的主鍵以及用戶ID。 對gridview執行選擇時,只需排除存儲在新表中的用戶行。
視圖狀態是ASP.NET頁面框架在往返之間保留頁面和控件值的方法。 在您的情況下,視圖狀態將不起作用,因為您希望用戶注銷后信息仍然存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.