ASP.NEW MVC3 Ajax BeginForm не отправляется как Ajax - PullRequest
0 голосов
/ 28 апреля 2011

Я испытываю ту же проблему, о которой многие люди спрашивали ранее, когда Ajax.BeginForm не отправляет вызов как ajax, т.е. Request.IsAjaxRequest () == false, но мне не повезло с предлагаемыми решениями (отсутствует js-файлы, установите «UnobtrusiveJavascript» и т. д.)

Мой _ Файл Layout.cshtml выглядит следующим образом:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>

Web.config

<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

View

            @using (Ajax.BeginForm("AjaxTest", new AjaxOptions { UpdateTargetId = "result" }))
            {
                <button class="btn" onclick="this.form.submit();">Hit Me!</button>
            }
            <div id="result"></div>

Контроллер

    [HttpPost]
    public ActionResult AjaxTest(FormCollection formCollection)
    {
        bool isAjax = Request.IsAjaxRequest();
        return Content("Hello World");
    }

Я запустил его через Firebug и не получил никаких ошибок.

Что я здесь не так делаю?

Ответы [ 2 ]

0 голосов
/ 28 апреля 2011

Я не уверен, что у вас должен быть этот код в onclick. Просто установите тип кнопки для отправки

0 голосов
/ 28 апреля 2011

Вы отправляете форму самостоятельно, используя onclick="this.form.submit()".

Удалите этот бит.По крайней мере, дайте возможность AjaxForm показать некоторые цвета:)

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