0

正直なところ、私はかなり長い間探していましたが、探しているものの一般的な形式を見つけることさえできませんでしたが、次の Razor 構文があり、それが何を意味するのかわかりません。

<option value="@value" @(Model.Amount == value ? "selected" : "") >$@value</option>  

可能であれば、そのコード行の説明が欲しいです。具体的には、オプション値 ="@Model.Amount" などがないのはなぜですか? また、Model.Amount == value の後に続くものに関して、Razor 構文がどのように機能するかを理解していません。

「?」は何を意味しますか? 「選択された」2つの値と同様に示す:「」)

誰かが私にこれを徹底的に説明できれば、本当に感謝しています.

ありがとう

4

2 に答える 2

2

(condition) ? (if true) : (else)Razor だけでなく、C# の条件演算子です。

が と等しい<option value="xxx" ... "selected">場合、つまり HTML で選択した場合に書き出します。@valueModel.Amount

と同等の省略形です

if (Model.Amount == value)
{
   <%: "Selected" %>
}
else
{
  <%: "" %>
}
于 2013-07-16T14:35:43.670 に答える
1
value="@value"

これはオプションの値を設定しています

@(Model.Amount == value ? "selected" : "")

これは簡略化されたブール論理、または IF/THEN

です。上記は概念的にはこれと同じです。

if (Model.Amount == value)
{
    return "selected";
}
else
{
    return "";
}

ビューのモデルには Amount という名前のプロパティがあり、これはオプションが選択で選択された値であるかどうかを判断するために使用されるブール値です。

于 2013-07-16T14:36:57.693 に答える