2012-04-18 6 views
2

이 DropDownList의 onchange 이벤트를 통해 jquery 함수를 호출해야합니다. 나는 봤 거든 googled 왜 내 면도기 구문이 잘못되었는지 알 수 없습니다. 도와주세요?면도기 구문이 잘못 되었습니까 ?? 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이 아니므로 컴파일러는 익명의 objectproperties을 더 추가하려고한다고 생각합니다. 그래서

...

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

가 있어야한다 :

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

소년 내가 바보가 된 기분 않습니다. –

+2

또한'@ onchange'가있는 곳에서는'onchange' 만 있으면됩니다. 이러한 익명 선언에서'@ class'가 때때로 나타나는 이유는'class'가 C#의 키워드이기 때문에'@ '접두어없이 사용할 수 없기 때문입니다 – StanK

관련 문제