powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
11 сообщений из 11, страница 1 из 1
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191356
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый,

Смастерил простенькую страничку на MVC3
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<!DOCTYPE html>

<html>
<head runat="server">
    <script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
    <title>TestResult</title>
</head>
<body>

    <% using (Ajax.BeginForm("UpdateRow", "Delivery",
                new AjaxOptions
                {
                    UpdateTargetId = "DivUpdateMe", 
                    HttpMethod="Post", 
                    InsertionMode = InsertionMode.Replace})) { %>
       
        <button type="submit" value="submit result">Button one</button>

    <%} %>

    

    <%= Ajax.ActionLink("Link one", "UpdateRow", new AjaxOptions {UpdateTargetId = "DivUpdateMe", HttpMethod = "HttpPost"})%>

    

    

                
    <%= Ajax.ActionLink("Link two", "UpdateRow",
                                new AjaxOptions() { 
                                    HttpMethod = "Post", 
                                    UpdateTargetId =
                                    "DivUpdateMe", 
                                    InsertionMode = InsertionMode.Replace })%>      
    
    

    


    <div id="DivUpdateMe" style="border:1px solid gray; ">
        TEXT TO BE REPLACED!
    </div>

</body>

</html>



код контроллера, который возвращает результат:
Код: c#
1.
2.
3.
4.
5.
        public ActionResult UpdateRow()
        {
            
            return Content("<span>some content</span>", "text/html");
        }



Проблема в том, что при нажатии на любую кнопку или ссылку результат отображается в новом окне, а мне надо обновить div на этой страничке.
Что не так подскажите пожалуйста.
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191375
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gena928,
Могу ошибаться ибо сам еще чертовски зелен в этом вопросе, но мне кажется что <div> который обновляется, должен быть внутри формы. Иными словами, закрывающую "}" надо ставить после того самого <div>
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191387
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gena928,

..а в разметке div-a не должно ли быть runat=server ?
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191409
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik, egorius,

спасибо за комментарии, но ни один способ не сработал (((
Тоже самое - выкидывает на другую страничку.
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191428
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gena928,
было что то похожее, вдруг на более поздней версии сайт стал выдавать такие кренделя..
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191430
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
было что то похожее, вдруг на более поздней версии сайт стал выдавать такие кренделя..
плюнул на все, и переписал $('#myDiv').load(......
и перестал этой фитчей пользоваться..
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191442
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степибыло что то похожее, вдруг на более поздней версии сайт стал выдавать такие кренделя..
плюнул на все, и переписал $('#myDiv').load(......
и перестал этой фитчей пользоваться..

В смысле? Обновлять содержимое div при загрузке?


Я уже з$#@я это дело отлаживать. Весь интернет перерыл.
Примеры, вроде, одинаковые, а не работает....
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38191811
KVVK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gena928, Есть подозрение, что путь к js не правильный. Нужно:
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

Я пользуюсь Razor, там принято так:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38192411
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KVVK,

Попробовал. Тоже самое. Видимо где-то сидит тупая и примитивная ошибка. Потом найду.

Зы: я победил. Меня спас JSon. Отправляю данные на сервер, обновляю и получаю результат. Надо было сразу так делать )).
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38205134
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и правильный ответ.

Для корректной работы на страничку надо добавлять ссылку на jquery.unobtrusive-ajax.js.
При этом надо заглянуть внутрь, и посмотреть какую версию JQuery эта штука может использовать. Я поставил 1.9.1, - и все заглючило.

jquery.unobtrusive-ajax.js хочет версию JQuery 1.4.1. (с 1.5.1 тоже пошло нормально).
...
Рейтинг: 0 / 0
Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
    #38217929
e-alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gena928,

В jquery.unobtrusive-ajax используется метод live, который не поддерживается в jquery с версии 1.9 и выше.
Используйте более раннюю версию jquery, или методы миграции.
http://api.jquery.com/on
http://api.jquery.com/bind
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ajax.ActionLink / Ajax.BeginForm не обновляет DIV, а выкидывает на новую страничку.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]