Отправка AjaxForm с помощью jQuery в ASP.NET MVC - PullRequest
3 голосов
/ 14 мая 2009

У меня есть форма ajax в asp.net mvc, которая так проста:


    &lt% using (this.Ajax.BeginForm("LatestBlogPosts", "Blog", null, new AjaxOptions { UpdateTargetId = "blogPostPanel" }, new { id = "BlogPostForm" })) { %>
    <div class="panel" id="blogPostPanel">
        <img src="/images/ajax-loader.gif" alt="ajax-loader" />
    </div&gt
    <% } %>

Я хочу вызвать отправку формы при загрузке документа. Предположительно, это должно вызвать действие контроллера и вернуть результат, который должен быть заменен на DIV-заполнитель. Если я добавляю кнопку SUBMIT в форму, она работает отлично, но когда я вызываю отправку через jQuery, обновляется вся страница, а содержимое, возвращаемое сервером, отображается на вновь отображаемой странице. Вот мой код jQuery:


    <script type="text/javascript">
        $(document).ready(function() {
            $("#BlogPostForm").submit();
        });
    </script>

В любом случае, чтобы сделать это?

Ответы [ 2 ]

2 голосов
/ 14 мая 2009

Я думаю, что это может сработать, если вы используете метод триггера для генерации события submit, но я думаю, что есть менее сложный способ сделать это с помощью jQuery.

<div class="panel" id="blogPostPanel">
    <img src="/images/ajax-loader.gif" alt="ajax-loader" />
</div>

<script type="text/javascript">
    $(function() {
         $('#blogPostPanel').load( '<%= Url.Action( "LatestBlogPosts", "Blog" ) %>' );
    });
</script>
0 голосов
/ 14 мая 2009

Вам нужно вызвать функцию javascript __doPostBack, если вы ожидаете традиционную обратную передачу.

http://geekswithblogs.net/mnf/archive/2005/11/04/59081.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...