2012-03-25 2 views
1

私はこの単純なことを理解しようとしていますが、私は実際にそのような初心者の質問に戸惑います。私はmvc2に慣れていました。私は数日前に最初のmvc3プロジェクトに飛び込んできました。とにかく質問は、私はクラス名またはID MVC2でクラス名にモデル値を追加しますか?

<div class="remove-MODEL.ID">body...</div> 

そのシンプル

<div class="remove-<%= Model.Id %>">body...</div> 

私の現在のコードでモデル値を追加している試すことができる方法である(WORKS)

<div class="[email protected]">body...</div> 

代わりに文字列形式(WORKS)を試しました

<div class="@string.format("{0}", Model.Id)">body...</div> 

私は本当に見当がつかないと私が言ったように、このような単純なことになり一番:)

EDIT
それは本当に奇妙ですが、私は、第3および提案は試行のカップルの後に働いた

Erik Philips答えはこの問題に関する情報を得ました。私のプロジェクトで

+0

剃刀のビューエンジンを使用している場合、あなたの提案は「

body...
」と表示されます。何かエラーがありますか? –

+0

ビューにあるようにhtmlを書くだけのエラーはありません。 'remove- @ Model.Id'はモデル値をとりません。 –

+0

モデルから他のものをページに印刷できますか? –

答えて

1

これは、Razorエンジンのマイナーの制限の1つです。問題は、@がかみそりの構文か通常のhtmlテキストかを判断するエンジンの能力にあります。この例は、メールの式<name>@<emailprovider>.comに似ているので、剃刀の出力が<prefixvalue>@<model>.<value>の場合に頻繁に発生する可能性があります。括弧で囲まれた式を囲むことで、エンジンに強制的にかみそりの構文を適用させることができます(例:@(model.id))。

+0

良い情報Erikありがとう –

0

、私はこのコードを使用しています:

<div class="[email protected](0).id">body...</div> 

をそして、それはうまく動作します。

+0

はい、mvc2はmvc3に、かみそりを使用するとき同じ構文ではありません –

+0

申し訳ありませんが、私のプロジェクトでこれallreadyの仕事をコードを更新 –

+0

私もidの属性のこのコードを使用しています。 –

関連する問題