剃刀语法错误? jquery函数onchange的Html.DropDownList

时间:2012-04-18 03:01:56

标签: asp.net asp.net-mvc-3 razor

我需要通过此DropDownList的onchange事件调用jquery函数。我用谷歌搜索和谷歌搜索,无法找出为什么我的剃刀语法错误。请帮忙吗?

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

错误在最后一部分。 @ ViewBag.Edit +“)”} )错误是“无效的匿名类型声明符。必须使用成员分配,简单名称或成员访问声明匿名类型成员。”

1 个答案:

答案 0 :(得分:6)

看起来问题是你正在尝试连接javascript function的一些参数。您的参数不在string中,因此编译器认为您尝试向匿名properties添加更多object

因此...

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

应该是:

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