2016-07-17 3 views
0

index.cshtmlAJAX в MVC не вызывает переход

<script type="text/javascript"> 
    function OnSuccessComment(data) { 
     alert(data.resultMessage); 
    } 
</script> 

@using (Ajax.BeginForm(new AjaxOptions 
{ 
    Url = Url.Action("AddCommentAjax"), 
    OnSuccess = "OnSuccessComment", 
    HttpMethod = "POST" 
})) 
{ 
    @Html.TextArea("comment") 
    <input type="submit" value="Добавить комментарий" /> 
} 

HomeController.cs

namespace WebApplication12.Controllers 
{ 
    public class HomeController : Controller 
    { 
     private static List<string> _comments = new List<string>(); 
     public ActionResult Index() 
     { 
      return View(_comments); 
     } 
     [HttpPost] 
     public ActionResult AddComment(string comment) 
     { 
      //необходимые действия 
      return View(); 
     } 

     [HttpPost] 
     public ActionResult AddCommentAjax(string comment) 
     { 
      //необходимые действия 
      return Json(new { resultMessage = "Ваш комментарий добавлен успешно!" }); 
     } 

    } 
} 

Проблема заключается в том, что функция AddCommentAjax не дозвонились на кнопку мыши. Как это исправить? В чем проблема?

+0

попробовать onBegin метод и проверить его работы или не думаю, что метод Ajax также неправильно –

ответ

1
@using (Ajax.BeginForm("AddCommentAjax", "Home", new AjaxOptions { OnSuccess = "OnSuccessComment", 
    HttpMethod = "POST" 
})) 

Попробуйте что-то вроде этого

Не забудьте включить файл JavaScript:

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>

+0

Это функция вызова, но перезагрузите всю страницу, и я получаю JSON в ответ. Но мне не нужна перезагрузка страницы, мне нужно вызвать функцию сервера и как callback запустить клиентскую функцию OnSuccessComment. –

+0

@NikitaPavlov проверить обновление ans вы подразумеваете правильный файл javascript, т.е.

Смежные вопросы