変数id
の値と連結されたdiv
ループ内のforeach
に動的i
を追加しようとしています。構文エラーをスローします。何が問題なのでしょうか。 for
ループを使用せずにこのソリューションを実現できますか?
@{int i=1;}
@foreach (var or in Model.Names)
{
<div oid="@or.Id" mode="0" oids="@or.Id" id="tr"+i>
@or.Name
</div>
i++;
}
コードのC#セグメントでIDを構築します。 1つのオプションは、文字列形式で全体を構築することです。
_<div oid="@or.Id" mode="0" oids="@or.Id" id="@string.Format("tr{0}",i)">
_
またはid="@("tr"+i)"
またはid="tr@(i)"
Razor構文パーサーは通常のメールアドレスのように見えるため、「text @ text」を無視するため、_id="tr@i"
_だけを実行することはできません。
新しくC#6では、id = "@($" tr {i} ")"を直接使用できます
次のように追加することはできません:
id="tr"+i>
それは違いない:
id="tr@i">
@
..が必要なのは、その時点でマークアップとRazorを推測できないためです。
しばらくこれに苦労した後、id="@("tr"+i)"
が私のために仕事をしてくれたことがわかりました
私にとっては、この解決策はどれも機能しませんでしたが、最初に私の@iを追加すると、ビルド後に_id="@i+AnyText"
_が機能し、次の問題について_id="1+AnyText"
_を取得し、_id="2+AnyText"
_を取得します(im 2013vsを使用)..
良い一日をお過ごしください。