0

送信ボタンをクリックすると、aspxページのいくつかのテキストボックスと送信ボタンが無効になりますが、ブラウザを更新/再ロードすると、送信ボタンを含むコントロールが再び有効になることがわかりました。検索しましたが、理由/解決策が見つかりませんでした。誰でも有益な情報を提供できますか?

4

3 に答える 3

1

ページを更新すると、ページのhtmlが初めて生成され、最後のポストバックで行った変更はありません。あなたがすることができるすべてsave the state of controls in some persistent medium like database or files and use it when page is refreshed

1つのコントロールの状態をセッションに入れて、実験のためだけにページの読み込みに戻ることができます。それが機能する場合は、好きな場所のデータベースに保存できます。

ボタンクリックで状態を変更

Textbox1.Enabled = false;
Session["Textbox1Enabled"] = false;

Page_LoadEventで

if(Session["Textbox1Enabled"] != null)
{
    Textbox1.Enabled =  bool.Parse(Session["Textbox1Enabled"].ToString());
}
于 2012-10-29T11:01:24.770 に答える
0

あなたは試しEnabled="false"てみることIsPostBack sectionができますEnableViewState="true"

if(!IsPostBack)
{
  //Bind your textbow
  yourTextBox.Enabled=false;
  yourTextBox.EnableViewState=true;
}

注:ViewStateを使用してコントロールを永続化します

于 2012-10-29T11:00:57.747 に答える
0

ページを更新/再読み込みすると、新しいバージョンのページが要求されるため、以前の状態はすべて失われます。

達成しようとしていることを達成するには、サーバー上のセッションをアクティブに追跡し、これに基づいて制御を無効にする必要があります。

于 2012-10-29T11:01:25.377 に答える