テキストの入力をbuttonclickに保存すると、ページのリロードでこれらの値を使用してコンテンツの一部を再作成できますか? 私はviewStateを使用しようとしましたが、ブレークポイントを使用しているときは常にpage_loadでnullと表示されます。ボタンを押したときにその変数を使用するbuttonclickのテキストボックスからの文字列を格納
ボタンのクリック:
protected void LoadLifeLineBtn_Click(object sender, EventArgs e)
{
ViewState["lifelineID"] = Convert.ToInt32(TextBox1.Text);
ViewState["phaseid"] = Convert.ToInt32(TextBox2.Text);
this.Page_Load();
}
そして、あなたのボタンは、このイベントにまで配線されていると仮定すると、相続人の私をPage_Load
int lifelineid;
int phaseid;
protected void Page_Load(object sender, EventArgs e)
{
hideAndShow();
if (!IsPostBack)
{
lifelineid = 22222;
phaseid = 1;
FillFaseTable(PhaseMainTable, phaseid, lifelineid);
PhasePanel.CssClass = "panel col-lg-2 col-md-2 col-xs-2 Phase1BackgroundColor";
}
else if (IsPostBack)
{
if (ViewState["lifelineid"] != null)
{
lifelineid = (int)ViewState["lifelineid"];
}
if (ViewState["phaseid"] != null)
{
phaseid = (int)ViewState["phaseid"];
}
FillFaseTable(PhaseMainTable, phaseid, lifelineid);
PhasePanel.CssClass = "panel col-lg-2 col-md-2 col-xs-2 Phase1BackgroundColor";
}
}
これは以前はthis.Page_load(null、null)が必要でした。 LoadLifeLineBtnでthis.Page_loadを使用したのは、viewstateの値を設定しなければならないためですが、page_loadの実行が終了していた(buttonclickの前に実行していたため) – svennand
'else if(IsPostBack ) 'ブロックしてから、' this.Page_Load() 'を呼び出す代わりにそのメソッドを呼び出してください。実際には最後の2行だけが必要です。 – mshsayem
はい!それはうまくいった!ありがとう:) – svennand