私はいくつかtextboxes
とdropdownlists
私のフォームを持っています。ユーザーがフォームを送信するときに、これらの値のいくつかをフォームに保持したいのですが、フォームの送信後数秒間は非表示にしたいので、ユーザーはフォームが送信されたことを認識できます。の表示をautopostback
変更するに は、を実行する必要があると確信していますが、保持したいフィールドが失われるため、実行したくありません。代替案はありますか?textboxes
dropdownlists
autopostback
1 に答える
質問を広げて、あなたが扱っていることにもっと光を当ててください。今は非常に曖昧です。
テキストボックス/ドロップダウンリストを「非表示」にすることに関しては、Javascriptを介してこれを達成できます。
<input type=text id=text1>
<input type=button value=hide onclick=hide()>
<input type=button value=show onclick=show()>
<script type=text/javascript>
function hide(){
document.getElementById('text1').style.visibility='hidden';
}
function show(){
document.getElementById('text1').style.visibility='visible';
}
</script>
Webページはステートレスです。Microsoftは、これに対応するためにASP.NET1.0でViewStateを導入しました。ステートレスとは、クライアント(ユーザーのコンピューター)とサーバー(クライアントが見ているWebページをホストするもの)の間に一貫した接続がないことを意味します。ViewStateは、ポストバック中にフォームコントロールの値を保持するこの購入を橋渡しするために作成されたメディアです。
ASP.NET MVCを使用している場合は、ボックス内のデータが失われます。ASP.NET MVCはViewStateを使用しません(ありがたいことに)。これが、ASP.NETMVCでAJAXを使用してサーバーと通信することをお勧めする理由です。これについてもっと理解したい場合は、これをチェックしてください: asp.net c#MVC:ViewStateなしで生きるにはどうすればよいですか?
通常のWebサイト/Webアプリケーションプロジェクトを使用している場合、ビューステートを有効にするとデータはそのまま残ります(これはデフォルトで有効になっています)。
ビューステートを無効/有効にするには、ASPXヘッダーについて以下を参照してください。
<%@ Page Language="C#" EnableViewState="false" %>
<%@ Page Language="C#" EnableViewState="true" %>
ビューステート: http://msdn.microsoft.com/en-us/library/ms972976.aspx