Default.aspx.cs の自動更新コード:
protected void Page_Load(object sender, EventArgs e)
{
// Auto refresh every 5 second
Response.AppendHeader("Refresh",5+"; URL=Default.aspx");
// Auto update into database
con = new MySqlConnection(conStr);
con.Open();
cmd = new MySql.Data.MySqlClient.MySqlCommand();
cmd.Connection = con;
con = new MySql.Data.MySqlClient.MySqlConnection(conStr);
GridView1.DataSourceID = "Datacmd";
// Get status of process on server of pid(cells[6])
count = GridView1.Rows.Count;
string server = "";
string pid = "";
string status = "";
string cout = GridView1.Rows.count;
for (int i = 0; i < count; i++)
{
server = GridView1.Rows[i].Cells[1].Text;
switch (server)
{
// If server locahost
case "localhost":
pid = GridView1.Rows[i].Cells[6].Text;
status = ws.GetStatusProcess(pid); //Ws is My webservice have a function GetStatusProcess(string pid)
string SQL = "UPDATE command SET status='" + status + "' WHERE id=" + int.Parse(GridView1.Rows[i].Cells[0].Text) + "";
cmd.CommandText = SQL;
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataSourceID = "Datacmd";
break;
// case : etc...
default:
break;
}
}
}
データベースへの自動更新は正常に機能しています。
ただし、Gridview1 (ShowEditButton="True") でボタン編集をクリックすると、Gridview1 で行を編集できません。ページが自動更新されるためです。
Gridview編集モードでページの自動更新を停止するにはどうすればよいですか?