8
SomeObject record = new SomeObject();
record.value1 = 1;
record.value2 = "hello";

<td><input type="checkbox" id="indicator_@record.value1_@record.value2" /><td>

IDが「indicator_1_hello」のチェックボックスを作成するための適切なかみそりの構文は何ですか?

この方法を試みると、オブジェクトにvalue1_(理解可能)の定義が含まれていないと表示されます。また、「indicator_ @ record.value1 @ _ @ record.value2」を試したときに、_という名前の何かが存在しないというランタイムエラーが発生した場合コンテキスト(繰り返しますが、理解できます)。

編集:

私が行った一時的な解決策として:

SomeObject record = new SomeObject();
record.value1 = 1;
record.value2 = "hello";
var combined = String.Format("{0}_{1}", record.value1, record.value2);

<td><input type="checkbox" id="indicator_@combined" /><td>

でも、すべてインラインでできるかどうかはまだ気になります。

4

2 に答える 2

18
@{
    // just for testing
    var record = new { value1 = "foo", value2 = "bar" };
}

<input type="checkbox" id="indicator_@( record.value1 + "_" + record.value2 )">

与えます:<input type="checkbox" id="indicator_foo_bar">

ビューモデルの自然な階層によって自動生成される ID を作成していないことを確認してください。ほとんどの場合、ビューで ID を手動で作成する必要はありません。

于 2013-03-07T18:30:52.050 に答える
1

このようなものが必要な場合は、ビューに渡す前に、そのフィールド(つまり、CheckboxID)をモデルに追加し、サーバー側に入力することをお勧めします。

于 2013-03-07T18:25:19.940 に答える