【发布时间】:2017-02-25 02:21:30
【问题描述】:
我有一个在 aspx 代码中连接到数据源的 gridview。选定的 gridview 行隐藏在 clcik on 按钮上。我想永久隐藏该行,即使用户注销并且不应显示隐藏行中的日志。我试过使用 ViewState 但它不起作用。任何人都知道如何做到这一点。
我的网格视图:
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");
}
}
}
谢谢
【问题讨论】:
-
您必须将该用户的隐藏行存储在某个永久位置,例如在您的数据库中。
标签: c# asp.net gridview viewstate