ASP.NET CodebehindのUpdatePanelをどこでインスタンス化しますか?

asp.net c# updatepanel
ASP.NET CodebehindのUpdatePanelをどこでインスタンス化しますか?

バックグラウンド

「refresh」というボタンがクリックされたときにデータを更新することになっている次のコードがあります。

public static void refreshBaan()
{
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    SqlCommand comm = new SqlCommand("sp_start_job", conn);
    SqlParameter jobname = new SqlParameter("job_name", "EBS");
    SqlParameter servername = new SqlParameter("server_name", "bnvmsql0a610912");
    comm.Parameters.Add(jobname);
    comm.Parameters.Add(servername);
    comm.CommandType = CommandType.StoredProcedure;
    conn.Open();
    comm.ExecuteReader();
    conn.Close(); `
}

クリックしたときに表示したいUpdatepanelがあるので、当然ながら上記のステートメントに `Updatpanel1.visible = true;`を入れたいのですが、それはできません。

質問

updatepanelを使用してデータを更新するにはどうすればよいですか? その更新パネルをインスタンス化する必要があるのはどこですか?

  0  0


ベストアンサー

非静的メソッドでのみクラスのインスタンスメンバーにアクセスできます。

次のようなボタン専用のクリックハンドラを作成することをお勧めします。

protected void refresh_Click(object sender, EventArgs e)
{
    updatePanel1.Visible = true;
    refreshBaan();
}

ボタン宣言は次のようになります。

1


どういう意味ですか、うまくいきませんか? コードがコンパイルされない?? 静的メソッドは、UpdatePanelを含む非静的ページレベルプロパティにアクセスできません。 メソッドを非静的に変更すると、大丈夫です。

0


これは役立つかもしれません:http://ajax.net-tutorials.com/controls/updatepanel-control/

0


タイトルとURLをコピーしました