i有一个gridView,该浏览量已连接到ASPX代码中的数据源。所选的GridView行隐藏在按钮上的Clcik上。即使用户登录并在隐藏的行中登录,我也想轻视该行。我尝试使用ViewState,但它不起作用。任何人都知道如何完成此操作。
我的GridView:
edit Select Approve data 1 data 2 data 3
用户单击"选择"one_answers"批准"按钮时,该行被隐藏。我希望所有的行都被调用,除了单击的行之外,单击行不应完全显示。我做了一些研究,发现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页面框架使用的方法来保存页面和控制往返之间的值。在您的情况下,查看状态将无法工作,因为如果用户注销的话,您想继续存在信息。