我有一个关于如何将我的Url Action放到剃刀视图中的问题:
@Html.EditorFor(m => m.MyTypes, false, new {id = "myId", onchange = "onMyTypeChange('Url.Action("GetMyFields", "MyController")')"})
你知道如何解决它吗?
答案 0 :(得分:1)
在这行代码的语法中似乎存在一些问题。
@Html.EditorFor(m => m.MyTypes, false, new {id = "myId", onchange = "onMyTypeChange('Url.Action("GetMyFields", "MyController")')"})
您的第二个参数false
没用,因为从技术上讲,它应该是string
类型,因为它是基于this的templateName
。
正如Chris Pratt和我在讨论的那样,在MVC 5.1+中,您必须使用new { htmlAttributes = new {...} }
传递HTML属性。
这有助于解决您的问题。
@Html.EditorFor(m => m.MyTypes, new { htmlAttributes = new { id = "myId", onchange = "onMyTypeChange('" + Url.Action("GetMyFields", "MyController") + "')" } })