web-dev-qa-db-ja.com

HTML要素の属性内のRazor構文(ASP MVC 3)

顧客の行が繰り返されるテーブルがあります。次のように、テーブルの行のID属性に顧客IDを追加したいと思います。

<tr id="row<customer id>"></tr>

私はこのコードを追加してみます:

@foreach(var c in Model) {
   <tr id="[email protected]"></tr>
}

これは私に次の出力を与えます:

<tr id="[email protected]"></tr>
<tr id="[email protected]"></tr>

等.

しかし、私はそれを望んでいます:

<tr id="row1"></tr>
<tr id="row2"></tr>

等.

私も追加しようとしました<tr>row@{c.id}</tr>が機能しませんでした。

64
Martin

<tr>row@(c.id)</tr>を試しましたか?

これが機能しない実際の理由は、_[email protected]_がメールアドレスのregexと一致するためです。したがって、パーサーはそれが電子メールであり、実際にコードを呼び出す試みではないと想定します。 _row@{c.id}_が機能しない理由は、_@{}_が出力されず、コードのブロックを含むことを意図しているためです。

疑問がある場合は、_()_の間に含まれているものをコードとして解析する必要があるため、@()を使用する必要があります。

110
Buildstarted