asp.net mvc 3 ajax-форма с помощью в telrik Grid On Submits открывает новую страницу - PullRequest
0 голосов
/ 08 декабря 2011

в моем ASP.Net MVC 3.0 Project.У меня есть Telerik Grid.

с ячейкой сетки. Я загружаю контент из частичного представления с формой Ajax в нем.(для каждой ячейки в одном столбце сетки)

когда я отправляю эту форму.

Форма Ajax открывает новую страницу вместо обновления идентификатора цели.

Язагрузка необходимых скриптов

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

Эти скрипты загружаются на главную страницу (_Layout.cshtml)

Мой Web.config

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

Я использовал формы Ajaxв большинстве мест в этом проекте.Он отлично работает во всех этих местах.

Любая подсказка, если я могу отправить форму ajax из сетки telerik

Подробнее

Контроллер

public JsonResult AddRemoveThisLocation(int LocationID, FormCollection collection, string button)
    {
return Json(new
        {
            success = _success,
            message = _message
        }, JsonRequestBehavior.AllowGet);
    }
 }

Частичное представление загружено в Telerik Grid с использованием метода .loadContentfrom ()

@using(Ajax.BeginForm("AddRemoveThisLocation", "Controller", new { LocationID = Model.AddressID }, new AjaxOptions {
OnBegin="ValidateNumbers",
HttpMethod = "POST",
OnSuccess = "ShowSignUpStatus"} ))
{
 @Html.TextBoxFor(model => model.Phone, new { id="phone"+Model.AddressID, name="Phone" })
<input type="submit" value="Add" class="button" name="button" id="@(Model.AddressID)" />
}

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

У меня была похожая проблема. и решение - подтвердить нет повторных ссылок JQuery и проверьте, правильно ли они загружаются.

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

Это должно решить твою проблему.

0 голосов
/ 08 декабря 2011

Попробуйте это:

 [AcceptVerbs(HttpVerbs.Post)]
 public JsonResult AddRemoveThisLocation(int LocationID, FormCollection collection, string button)
        {
    return Json(new
            {
                success = _success,
                message = _message
            }, JsonRequestBehavior.AllowGet);
        }
     }
...