2011-09-14 3 views
1

は、私はシンプルでなどなど、変数、式を書き出すことができたという事実を愛して:ASPラベル?なぜ=変数だけではないのですか?クラシックASPで

<span class='<%=myClass%>'><%=myariable%></span> 

私はそれをフォーマット、または私が欲しかった何かを行うことができます。それは簡単だった。私はそれらの関数を実行することさえできます.Netで、私はまだすべての関数などを行うことができます(そして、それはオブジェクトのように扱われるという事実は良いですが)、私はたくさんのことをしているようですこれ、そしてそれは迷惑です!

<asp:Label ID='pnlMyVariable' runat='server'></asp:Panel> 
%% CODE BEHIND %% 
pnlMyVariable.Text = "Yeah, write this short sentence..."; 
pnlMyVarialbe.CssClass = "blah"; 

そして、私は迷惑な、まだ多少便利FindControlメソッドで開始されません!

これは本当にそうなるのでしょうか?あなたが「はい、そうです」と言うなら、私はそれを受け入れます。しかし、確かにこれを少し迷惑に見てきたいくつかの人々(Classic ASPを鑑賞するのに十分な年齢であれば)。私はこれに正しく近づいていますか?

+2

引き続きこの構文を使用できます。または、Asp.Net MVC3のカミソリをチェックしてください。http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax aspx – Joe

答えて

1

あなたはasp:Labelコントロールを正しく使用しています。はい。ただし、このコントロールを使用する必要はありません。あなたは他の多くのオプションを持っていますが、おそらくあなたに最もアピールする2は、以下のとおりです。

  1. asp:Literalコントロールを使用してください。これはLabelのように動作しますが、追加のマークアップで値をラップしません。これにより、「旧い時代」と同じように、マークアップとスタイリングを制御することができます。

  2. 古典的な構文を使用してください。ページクラスにpublicまたはprotectedプロパティがある場合、そのプロパティは同じ古典的なASP構文を使用してマークアップ内で参照できます。 .NETでの慣習として、また多くの理由から、メンバー変数に直接アクセスするのではなく、プロパティを使用するのが最善です。しかし、それだけであなたのための優先事項の問題になる可能性があります。

0

ウェブフォームでは、winformsに似たモデルを維持する必要があります。これらのコントロールでは、ビューステートを使用してポストバック間で値を保持します。 MVCは、HTML側では古典的なaspに非常に近いですが、バックエンドではまだ非常にオブジェクト指向です。私はそれを強く勧めます!

+0

私はMVCをチェックアウトします。 VS2010に既にプロジェクトがあり、 "winforms"を使用している場合、変換を行う必要がありますか?または、MVCで新しいページを作成することはできますか?私はコントロールが好きです...そして、私はコードが好きです - フォーム、ドラッグドロップ、またはウィザードではありません。 –