私はデータベースにあるすべてのオブジェクトを持つテーブルを持っています。私はPage_Load関数でそれらをロードします。私はテキストフィールドとボタンをクリックすると、そのクリックのハンドラにdbのテキストフィールドに書かれた名前を持つ新しいオブジェクトを置くことが必要なボタンがあります。page_loadの前にボタンイベントハンドラを実行します。
ここで、クリック後に、テーブル内の新しい項目を使用してページが再度読み込まれることが必要になります。問題は、ボタンイベントハンドラがPage_Load関数の後に実行されることです。
これに対する解決方法は、Page_LoadでIsPostBackを使用するか、プリロード機能を使用することです。問題は、3つの異なるボタンがある場合、3つの異なる便利な機能を持つ代わりに、そのボタンを異なるものにしなければならないということです。
この問題が発生しないソリューションはありますか?
コード:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userId"] == null)
Response.Redirect("Login.aspx");
// LOAD DATA FROM DB
}
protected void CreateObject(object sender, EventArgs e)
{
// SAVE THE NEW OBJECT
}
page_loadの前にクリックイベントを表示することはできませんが、この問題がIsPostBackを使用してどのように解決されないのかわかりません。 –
それはありますが、ボタンを12回押すとどうなりますか?私は、12個の関数の代わりに12個のif節を持つでしょう。 – Vadiklk
本当に理解していない、あなたは1つだけを持っています:IsPostBack、trueの場合、OnLoadのコードをexcecuteしていたものは何でも、ボタンのクリックイベントはそのビジネスを行います。ボタンのクリックイベントはまだ起こるでしょう –