在Razor View中将URL.Action添加到javascript方法

时间:2016-06-17 12:43:03

标签: javascript .net asp.net-mvc razor url.action

我有一个关于如何将我的Url Action放到剃刀视图中的问题:

@Html.EditorFor(m => m.MyTypes, false, new {id = "myId", onchange = "onMyTypeChange('Url.Action("GetMyFields", "MyController")')"})

你知道如何解决它吗?

1 个答案:

答案 0 :(得分:1)

在这行代码的语法中似乎存在一些问题。

@Html.EditorFor(m => m.MyTypes, false, new {id = "myId", onchange = "onMyTypeChange('Url.Action("GetMyFields", "MyController")')"})

您的第二个参数false没用,因为从技术上讲,它应该是string类型,因为它是基于thistemplateName

正如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") + "')" } })