9

この質問と同様に、Razor で三項演算子を使用しようとしていますが、出力したいものに空白が含まれています。このコード

@(selectedGoal == null ? "" : "value=" + selectedGoal.Name)

生成する必要があります

value="Goal 3"

selectedGoal.Name の値は「目標 3」です。代わりに、私は得る

value="Goal" 3

これは良くありません。エスケープされた引用符、@ 記号、および @ 記号なしのさまざまな組み合わせを試しましたが、これを機能させることができません。

@(selectedGoal == null ? "" : "value=" + "selectedGoal.Name")
@(selectedGoal == null ? "" : "value=@selectedGoal.Name")

そして、私はちょうど次のようなものを取得します

value="selectedGoal.Name"

これをどのように行うべきか知っている人はいますか?

4

2 に答える 2

14

value属性には独自の引用符がないため、スペースの前に自動的に追加されます。value式の外に移動してみてください。

value="@(selectedGoal == null ? "" : selectedGoal.Name)"
于 2012-05-16T15:52:17.623 に答える