私はViewBagを使用する瞬間にMVC 3で作業しています。 ViewBagのプロパティの1つが割り当てられているかどうかをテストしたいと思います。私はPHPであなたがisset(変数)を行うことができることを知っていますが、.NET 4には何か類似していますか?C#.NET 4の 'ダイナミック'オブジェクトのプロパティに対応するPHPのイセットセットとは何ですか?
シナリオは、ViewBagを通してセクションタイトルとセクションサブタイトルを取るネストされたレイアウトを作っていることです。それらはセパレータによって分離され、サブタイトルは任意である。サブタイトルが設定されていない場合は、セパレータを表示したくありません。
これは、私がissetが.NET 4 equivelantに置き換えられる場所を想像する方法です。
@section header
{
<h2>@ViewBag.SectionTitle</h2>
@if(isset(ViewBag.SectionSubTitle))
{
<div id="section-title-seperator"> - </div><h3>@ViewBag.SectionSubTitle</h3>
}
}
私の質問への直接の回答の次に、(私がViewBagを濫用している場合に備えて)別の解決策も開いています。
ありがとうございます。
ああ、OK感謝を。ちょうど私がViewBagを悪用しているわけではありません。 –
後でリファクタリングすることをお勧めします。まずそれを働かせてください。 ViewBagを使いすぎないでください。物事を別々のモデルにまとめることを検討してください。 –
ViewData.ContainsKeyの場合 –