2012-04-18 23 views
2

このDropDownListのonchangeイベントを通じてjquery関数を呼び出す必要があります。私はグーグルでグーグルの構文が間違っている理由を知りませんでした。助けてください?カミソリの構文が正しくありませんか? Html.DropDownListのjquery関数onchange

@Html.DropDownListFor(model => model.Type, (List<SelectListItem>)Type, new { @onchange = "reloadDial(" + @Model.AppID, @Model.LoginID, @Model, @ViewBag.Edit + ")"})  

エラーは最後の部分です。 @ ViewBag.Edit + ")"})エラーは「無効な匿名型宣言子です。匿名型のメンバは、メンバの割り当て、単純な名前またはメンバアクセスで宣言する必要があります。

答えて

5

javascriptfunctionのいくつかの引数を連結しようとしているように見えます。あなたの議論はstringではないので、コンパイラはあなたが匿名のobjectにさらにpropertiesを追加しようとしていると考えています。

そう...

"reloadDial(" + @Model.AppID, @Model.LoginID, @Model, @ViewBag.Edit + ")" 

は次のようになります。

"reloadDial('" + @Model.AppID + "','" + @Model.LoginID + "','" + @Model + '",'" + @ViewBag.Edit + ")" 
+0

少年は、私は愚かな感じています。 –

+2

また、 '@ onchange'がある場合は' onchange'だけが必要です。このような匿名宣言で '@ class'と表示されることがあるのは、' class'がc#のキーワードであるため、 '@'を前に付けずに使用することができないためです。 – StanK

関連する問題