У меня есть фрагмент кода, работающий в MVC2, но после обновления до MVC3 он больше не работает.
На мой взгляд, у меня есть
<% using (Ajax.BeginForm("MyAction", new AjaxOptions { HttpMethod = "Post",
OnComplete = "MyAction_OnComplete" })) { %>
my controls here...
<% } %>
<script type="text/javascript">
function MyAction_OnComplete(content) {
var output = eval(content.get_response().get_object());
}
</script>
Мой метод действия возвращаетОбъект JSON:
[HttpPost]
public ActionResult MyAction(MyViewModel data) {
// result = new myObject(); ....
return new JsonResult { ContentEncoding = Encoding.UTF8, Data = result };
}
Я обновил ссылку JavaScript как
<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery-1.5.1.min.js") %>"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery.validate.js") %>"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.js") %>"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/jquery.unobtrusive-ajax.js") %>"></script>
в web.config. Я включил ненавязчивый JavaScript
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
В MVC2 мойОбработчик события oncomplete на стороне клиента может интерпретировать JSON, возвращенный из действия, и выполнять дальнейшую работу, но эта строка кода в MVC3 обрывается, не имея возможности проанализировать данные.
Есть идеи, что не так с моим кодом?
Спасибо, Харди