Я начинаю изучать ASP.Net MVC (релиз-кандидат), и у меня возникли небольшие проблемы. Возможно, я просто привередлива, но я подумала, что спрошу.
Я хочу использовать встроенные (расширенные) методы ASP.Net Ajax для вызова моего контроллера, называемого «GetNames», который возвращает объект JsonResult. Я видел примеры, в которых используется метод jQuery $ .getJSON (), но вместо этого я бы предпочел сделать что-то вроде этого:
<%using ( Ajax.BeginForm("GetNames", new AjaxOptions() { OnSuccess = "GetNamesSuccess", OnBegin = "GetNamesBegin", OnComplete = "GetNamesComplte", OnFailure = "GetNamesFailure" } ) ) { %>
<%=Html.TextBox("DummyData") %>
<input type=submit />
<% } %>
<script type="text/javascript">
function GetNamesSuccess()
{
alert("Success");
}
function GetNamesBegin()
{
alert("Begin");
}
function GetNamesComplete()
{
alert("Complete");
}
function GetNamesFailure()
{
alert("Failure");
}
</script>
Когда я нажимаю кнопку «Отправить», я не получаю ни одного из предупреждений и мне предлагается загрузить файл, содержащий текст объекта Json, который, как я считаю, указывает, что, по крайней мере, метод контроллера работает нормально. Но это не то, что мне нужно ... В идеале Ajax.BeginForm настроил бы его так, чтобы объект Json передавался либо в метод OnSuccess, либо в метод OnComplete.
Есть ли способ сделать это?