1

スパークファイルをコーディングしているときに、何か奇妙な/奇妙なことに遭遇しました。Html.TextBoxForについては知っていましたが、これを使用すると、ビューが純粋なテキストとしてレンダリングしていることに気付きました。

${Html.TextBoxFor(x => x.Name}}

しかし、私がこれに変更したとき、それは機能しました:

${Html.TextBoxFor(m => m.Name)}

ここでのmは、.sparkファイルの先頭で次のようにモードを宣言したため、おそらくModelを表します。

<viewdata model="Test.Models.RegisterViewModel" />

ただし、xまたはmはデリゲート宣言などである必要があります。この場合、xが機能しない理由を誰かに教えてもらえますか?xまたはmとして入力したものはすべて、ページの上部で宣言したモデルであると想定すべきではありませんか?

4

2 に答える 2

1

あなたの質問からコピー:

${Html.TextBoxFor(x => x.Name}}
${Html.TextBoxFor(m => m.Name)}

一番上のもの(xを使用)には、括弧と中括弧の代わりに2つの閉じ中括弧があります。

2番目のもの(mを使用)では、正しい閉じ括弧と中括弧があります。そのため、Sparkは、閉じ括弧がないためにコードブロックを認識しなかったため、トップインスタンスで純粋なテキストとしてレンダリングしました。

于 2012-09-13T18:59:59.757 に答える
0

2つの間に違いはありません。この変数は、for(ラムダ式内のすべてのオブジェクトに対して実行される共通のアクションを定義するローカル変数)で使用されるカウンターのようなものです。

それが機能した理由は、おそらく以前のコード構文にエラーがあったか、ビルドを忘れたという事実です

私の2セント
免責事項: 私はスパークタグを見ませんでした...この答えは問題のMVCの側面に完全に捧げられています

于 2012-09-13T08:55:51.043 に答える