Обратные вызовы на Ajax.BeginForm не работают - PullRequest
0 голосов
/ 06 мая 2011

У меня проблемы с получением обратных вызовов для работы с формой. У меня есть что-то вроде этого:

<script>
function VendorCreated() {
  alert('ok');
}
</script>

@using (Ajax.BeginForm("Create", "Vendor", new AjaxOptions {
    UpdateTargetId = ViewBag.TargetId, 
    HttpMethod = "Post", 
    OnSuccess="VendorCreated",
    })) {

после отправки моя функция никогда не создается. Если я использую:

OnSuccess="alert('ok')"

работает нормально. Я также попробовал:

OnSuccess="function() { VendorCreated(); }"

но я получаю ошибку во время выполнения. Другие имеют эту проблему, но я не нашел решения, см. MVC 3 Razor - Ajax.BeginForm OnSuccess и Ajax.BeginForm OnBegin подтверждение через jquery модальный .

Если я посмотрю на отладчик IE (F12), я не увижу тег сценария в сгенерированном коде ... какой правильный подход?

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

хорошо, я сузил проблему ... код выше генерируется представлением, которое загружается в DIV в другом представлении с помощью jQuery. Недавно я обнаружил, что я могу включить представление в другое представление, используя @ Html.Action (), и это, похоже, решает проблему выше. Теперь я получаю обратные вызовы!

для любого, кто склонен, было бы здорово объяснить, почему один работает, а другой нет.

0 голосов
/ 06 мая 2011

Вы включаете jquery.unobtrusive.ajax.js на своей странице?

...