Метод POST с AJAXOption в вызове GET запроса MVC3 - PullRequest
1 голос
/ 10 января 2012

Я запутался с AjaxOption в MVC3, я хотел бы сделать пост-запрос, но он всегда делает запрос get и перенаправляет на новый URL.

мой код .cshtml, как показано ниже

<div >  

     @Html.ActionLink("Check Availability", "ValidateUsername", "Wizard",  new { username = "arun"},
                            new AjaxOptions()
                                {
                                    Url="/Wizard/ValidateUserName",
                                    UpdateTargetId = "msg",
                                    HttpMethod = "POST",
                                    LoadingElementId = "progress"

                                })
    </div>
    <div id="progress">
        <img alt="" src="../../Content/Images/progress.gif" width="20px" height="20px" style="display: none" />
    </div>
    <div id="msg">
    </div> 

и действие контроллера, как указано ниже

public ActionResult ValidateUsername(string username)
        {
            Thread.Sleep(200);
            //return Json(!username.ToLower().Equals("arun"));
            return Json(true , JsonRequestBehavior.AllowGet);
        }

, он всегда делает запрос get вместо POST запроса и перенаправляет на новый URL http://localhost:55152/Wizard/ValidateUsername?username=arun , почему?

и HTML-код, сгенерированный согласно ниже

<div >

            <a Confirm="" HttpMethod="POST" InsertionMode="Replace" LoadingElementDuration="0" LoadingElementId="progress" OnBegin="" OnComplete="" OnFailure="" OnSuccess="" UpdateTargetId="msg" Url="/Wizard/ValidateUserName" href="/Wizard/ValidateUsername?username=arun">Check Availability</a>
        </div>
        <div id="progress">
            <img alt="" src="../../Content/Images/progress.gif" width="20px" height="20px" style="display: none" />
        </div>

        <div id="msg">
        </div>

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Вам нужно использовать @Ajax.ActionLink вместо @Html.ActionLink для публикации данных с помощью ajax

0 голосов
/ 10 января 2012

Якорные теги в HTML всегда делают запрос get. Вы должны использовать пост Jquery.

См. здесь для более подробной информации

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