2012-08-01 17 views
8

elseブロックにプレーンテキストを表示する(表示しない)のに問題があります。レイザーで条件付きプレーンテキストを表示する方法

if (Model.CareerFields != null && ViewBag.CFCount > 0) 
{ 
<h3>Careerfields Listing</h3> 

<table> 
    <tr> 
     <th></th> 
     <th>Careerfield Name</th> 
    </tr> 

    @foreach (var item in Model.CareerFields) 
    { 
     <tr> 
     <td> 
      @Html.ActionLink("Select", "Index", new { careerFieldID = item.CareerFieldId }) 
     </td> 
     <td> 
      @item.CareerFieldName 
     </td> 
     </tr> 
    } 
    </table> 
} 
else 
{ 
    No Careerfields associated with @ViewBag.SelectedDivisionTitle 
} 

ifブロックは正常に動作します。テキストは、trueの場合のみレンダリングされます。ただし、elseブロックのテキストは、ページが読み込まれるときにレンダリングされます。

私は

Hmtl.Raw("No Careerfields associated with ") 
<text>No Careerfields associated with @ViewBag.SelectedDivisionTitle</text> 
@:No Careerfields associated with @ViewBag.SelectedDivisionTitle 

を使用してみましたが、それはまだ評価の前に平文をレンダリングします。

提案がありますか?

+0

ディスプレイの問題を解決するために「else if」を使用する代わりに – swapneel

+0

を試しましたか? @ ViewBag.SelectedDivisionTitleに関連するキャリアフィールドはありません user1304444

+0

@ user1304444はい、持っています。それは動作しません。 – Erik

答えて

8

<span>タグの内側にあなたの「テキスト形式」を入れてください:

else 
{ 
    <span>No Careerfields associated with @ViewBag.SelectedDivisionTitle</span> 
} 

ブラウザは、それは特別なレンダリングされないはずです(あなたはすべてのスパンを選択し、CSSを持っていない限り)、それが終了かみそりセンスをお手伝いしますあなたのHTMLを印刷してください。

+0

まだレンダリング中です。スパンタグにCSSがありません - 私はMVC3アプリで作成されたデフォルトのスタイルシートを使っています。 – Erik

2

ifの前に@記号を忘れてしまったようです。

@if (Model.CareerFields != null && ViewBag.CFCount > 0) 
{ 
    <h3>Careerfields Listing</h3> 

    <table> 
     <tr> 
      <th></th> 
      <th>Careerfield Name</th> 
     </tr> 

     @foreach (var item in Model.CareerFields) 
     { 
      <tr> 
       <td> 
        @Html.ActionLink("Select", "Index", new { careerFieldID = item.CareerFieldId }) 
       </td> 
       <td>@item.CareerFieldName</td> 
      </tr> 
     } 
    </table> 
} 
else 
{ 
    <text>No Careerfields associated with @ViewBag.SelectedDivisionTitle</text> 
} 
4

次のコードは、私のために完全に働いた::このお試しください

@if (false) { 
    <h3> 
     Careerfields Listing 
    </h3> 
    <table> 
     <tr> 
      <th> 
      </th> 
      <th> 
       Careerfield Name 
      </th> 
     </tr> 
    </table> 
} 
else 
{ 
    @:No Careerfields associated with @ViewBag.SelectedDivisionTitle 
} 

をあなたはに条件を変更するとき場合の内容がレンダリングされていることがわかります。

関連する問題