2011-06-28 4 views
1

私は長い間何か間違っているように感じています。私は通常、いくつかのフィールドを持っています:例えば、ファイルを選択してアップロードボタンをクリックします。だから、「ファイルが選択されていません」、「アップロードが成功しました」のいずれがあるかを教えてください。 私がしているのは、両方のラベルを隠しておき、条件に応じてコードの背後でそれらを有効にします。ファイルをもう一度変更したり、状態がさらに増えると、多くのlabel.visible = trueステートメントでコードが乱雑になります。このことをどうやって扱いますか?label.visible = true/falseの代わりに

ありがとうございます!

答えて

3

Labelコントロールを1つ使用し、クライアントに渡すメッセージに基づいてコード内の.Textプロパティを設定します。

ASP:

<asp:Label runat="server" ID="lblMessage"></asp:Label> 

のC#:

lblMessage.Text = "Something happened that you should be aware of."; 
+1

+1私は、私は両方のコントロールは、このような状況で有効なラベルが、リテラル – Pleun

+0

を使用することはありません、同様にこれを行うだろう。しかし、私自身も 'Literal'を使っています。 –

+2

EnableViewState = "false"属性を追加することもできます。そうすれば、あなたのエラーメッセージはあなたの次のポストバック時に自動的にクリアされます。あなたのコードビハインドのどこにでもlblMessage.Text = string.Emptyを書く必要はありません。もちろん、複数のポストバックを通してメッセージが見えるようにしたい場合は、これをしないでください。 :)しかし、私は、多くの場合、エラーメッセージは実際には最新のポストバック操作にのみ意味があることを発見しました。 – mikemanne