ASP.Net MVC - Ajax.BeginRequest () не генерирует запрос ajax - PullRequest
0 голосов
/ 10 июня 2011

Это мой Test.cshtml:

@using(Ajax.BeginForm("Test", new AjaxOptions()))
{
    <p>
        Some String: <input name="someString" type="text" /> 
    </p>
    <button type="submit">Submit</button>
}

Где jquery-1.4.4.min.js включен в макет.

Мой контроллер имеет следующие два действия:

public ActionResult Test()
{
    return View();
}
[HttpPost]
public ActionResult Test(string someString)
{
    if (Request.IsAjaxRequest())
        return Json("Okey-dokey");
    return View();
}

Кажется, что когда я нажимаю на submit, он всегда выполняет полный постбэк, Request.IsAjaxRequest () никогда не выполняется!

Что дает?

Ответы [ 4 ]

1 голос
/ 10 июня 2011

Джордж,

Пожалуйста, убедитесь, что вы включили скрипт jquery.unobtrusive-ajax.js в свою страницу макета.

counsellorben

1 голос
/ 10 июня 2011

Вам нужно использовать что-то подобное, чтобы получить функциональность ajax

using (Ajax.BeginForm("Test", "ControllerName" ,null,
       new AjaxOptions { OnComplete = "FunctionToCallOnSuccess" }))
1 голос
/ 10 июня 2011

Я не вижу функциональности ajax в ваших примерах кода.

0 голосов
/ 10 июня 2011

Это действительно пост.Вы должны использовать вызов AJAX, например:

$(function(){
    $( "#myButton" ).click(function(){
        $.getJSON("/Controller/Test", {someString: $("#someString").val()}, function(data){
            alert(data);
        }
    });
});

и в вашей форме:

<p>
    Some String: <input name="someString" id="someString" type="text" /> 
</p>
<button type="button">Submit</button>

Это должно работать.

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