2

だから私はこれが以前に行われたのを見たことがあり、構文がどこにあるのか、何であるのかを完全に忘れていました。ヘルプは大歓迎です。

そのため、Umbraco CMSで入力されているプロパティと入力されていないプロパティに応じて、CSSスタイルを追加したい要素があります。要素のタグの後にコロン(:)などが含まれていると思いました。しかし、完全にはわかりません。

こんなことしたい

 foreach(var item in @Model.myNodeList)
      if(@item.myProperty != String.Empty){
      <div class="myStyleOne">
      }
      else if(@item.myProperty == String.Empty){
      <div class="myStyleTwo">
      }
      else{
     <div class="myDefaultStyle">
      }
        <p>My content that will be inside of this div with different starting tags</p>
      </div>
 }

私はこのコードが完全に正しくないことを知っています、そして私は何かが欠けています。誰かが私を正しい方向に向けることができますか?ありがとう。

4

3 に答える 3

2

条件演算子を意味しますか?

<div class="@(item.myProperty != String.Empty ? "myStyleOne" : "myStyleTwo")">

myDefaultStyle文字列が空かどうかを見て、どこに収まるかわかりません。

これはインラインスタイルでも機能します。コメントであなたの例を使用すると、次のようになります

<div style="@(item.boxBackgroundColor != String.Empty ? "background-color:" + item.boxBackgroundColor + "; color:#fff !important" : "background-color:#fff;")">
于 2012-11-02T15:10:35.027 に答える
0

OK、他の誰かがこれもやりたいと思った場合に備えて。私はそれが何であるかを知りました。

これが解決策です。これには、要素の開始タグと終了タグの前に@:記号を追加することが含まれます。注:最後のものを取り出しました。@Brandonに感謝します。それは初めて意味がありませんでした。ブランドンの方法またはこの方法も機能します。

 foreach(var item in @Model.myNodeList)
    if(@item.myProperty != String.Empty){
    @:<div class="myStyleOne">
    }
    else if(@item.myProperty == String.Empty){
    @:<div class="myStyleTwo">
    }
    <p>My content that will be inside of this div with different starting tags</p>
    @:</div>
  }
于 2012-11-02T15:26:10.897 に答える
0

@:メソッドは@Html.Raw()同じことをします。ただし、文字列を期待しているの@:に対し、htmlを入力し続けることができます。@Html.Raw()

クラスの変数を使用して、コードを少しクリーンアップできます。

foreach (var item in Model.myNodeList)
{
    string myClass = (item.myProperty != String.Empty) ? "myStyleOne" : "myStyleTwo";

    <div class="@myClass">
        <p>My content that will be inside of this div with the same starting tag</p>
    </div>
}
于 2012-11-17T05:57:18.247 に答える