这是我的第一个问题,我为我的英语道歉...
我正在基于datagridview的asp.net中创建一个与SQL Express数据库连接的应用程序。 我在data.gridview中添加了编辑行的可能性。这是更新sql命令(aspx文件):
UpdateCommand = "UPDATE [View_1] SET [data_wyst] = @ data_wyst, [name] = @ name, [nazwa_umowy] = @ nazwa_umowy, [data_wplywu] = @ data_wplywu, [description] = @ description where [id] = @ id"
在过滤后我想要编辑线条的时刻,一切都很好。
这是负责过滤的功能:
private void BindGridView1()
{
sprawdzpola_p();
DataTable dt = new DataTable();
string querystring = "SELECT [id], [nr_pism_wew], [nr_pism_zew], [nr_pamov], [nazwa], [nazwa_umowy], [Expr1], [data_wyst], [data_wplywu],[nazwa_pliku], [opis], [link] FROM [View_1] where [nr_pism_wew] like '" + wew + "' and [nr_pism_zew] like '" + zew + "' and [nazwa_umowy] like '" + umowa + "' and [nazwa] like '" + firma + "' and [nr_pamov] like '" + nr_pamov2 + "' and [opis] like '" + opis + "' and [czy_wych]='0' and ([lokalizacja] like '" + chbl_0 + "' or [lokalizacja] like '" + chbl_1 + "' or [lokalizacja] like '" + chbl_2 + "') ORDER BY [data_wplywu] DESC";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=baza_pism;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand(querystring, conn);
//cmd.ExecuteNonQuery();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
GridView1.DataSourceID = "";
GridView1.DataSource = dt;
GridView1.DataBind();
}
过滤并按下开启按钮链接编辑后,没有任何反应。再次按下时会出现以下错误:
“无法加载viewstate。视图状态所在的控制树 正在加载必须与用于保存的控制树匹配 在上一个请求期间查看状态。例如,添加时 动态控制,回发期间添加的控件必须匹配 初始期间添加的控件的类型和位置 请求。 “
因此,我的问题是,为什么编辑过滤不起作用以及我需要做些什么才能工作?
Ps:我在过滤后排序有类似的问题,但我怀疑是出于同样的原因。