powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ajax.BeginForm динамически менять UpdateTargetId
8 сообщений из 8, страница 1 из 1
Ajax.BeginForm динамически менять UpdateTargetId
    #38951246
Фотография yardie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на странице может располагаться множество элементов div c id="CollectionBtnStatus_@Model.Id"
Model.Id - уникальный префикс от 1 до бесконечности.
то есть каждый элементов div имеет уникальный id
на каждом div есть кнопка, по клику на которую она делает видимой форму
есть только одна форма !
Код: c#
1.
2.
 @using (Ajax.BeginForm("AddCollectionPartial", "Home", new AjaxOptions { UpdateTargetId = "CollectionBtnStatus_", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal", id = "popupCollection" }))
            {}



форма невидимая и по клику на button становиться видимой
и в этот момент когда она становиться видимой мне нужно менять UpdateTargetId этой формы, на тот с какого div она была вызвана кнопкой.

я сделал следующим образом, повесил jquery событие на клик кнопки
Код: c#
1.
2.
3.
<button class="btn btn -primary btn-md" id="@Model.Id" onclick="getModelId(this)" data-toggle="modal" data-target="#myModalInAlbum" style="background-color: #f5f5f5; border-color: #f5f5f5; font-weight: normal; color: #666;">
                В Коллекцию
            </button>



и попытался подменить UpdateTargetId у Ajax.BeginForm
Код: html
1.
2.
3.
4.
5.
6.
7.
<script type="text/javascript">
    function getModelId(el) {
        $('#IdShoppingOnPopUp').val(el.id);
        var nameTargetId = "CollectionBtnStatus_" + el.id;
        $('#popupCollection').attr('data-ajax-update', nameTargetId);
    }
</script>



но по каким-то причинам div не обновляется....
подскажите как правильно менять UpdateTargetId в уже сформированной странице у Ajax.BeginForm
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38951306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить точку останова на строке
Код: javascript
1.
$('#popupCollection').attr('data-ajax-update', nameTargetId);

Проверить, чему равен $('#popupCollection').attr('data-ajax-update') до выполнения этой строки.
Так будет исключены все возможные ошибки с адресацией элемента.
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38951789
Фотография yardie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$('#popupCollection').attr('data-ajax-update') равен первоначальному заданному значению до выполнения скрипта.
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38951808
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тады отладчиком браузера посмотрите содержимое POST-запроса, который уходит с клиента и содержимое ответа от сервера
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38952127
Фотография yardie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
firebug показывает что изменения есть - data-ajax-update="CollectionBtnStatus_11"
ответ в Консоле того же firebug говорит что получен и он тот что нужен, но сама кнопка не обновилась...

вот тут и загадка, ни чего понять не магу
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38952240
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант 1 - задать изначально CollectionBtnStatus_11, ничего не менять, посмотреть, обновляется ли

вариант 2 - поставить точку останова в файле jquery.unobtrusive-ajax.js на функции asyncOnSuccess и по шагам посмотреть, что происходит
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38952567
Фотография yardie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант 1 - задать изначально CollectionBtnStatus_11, ничего не менять, посмотреть, обновляется ли
Уже делал и не раз, да все обновляется. если первоначально задаю нужные мне значения все работает без нареканий!

такое впечатление что подмена UpdateTargetId просто не корректна происходит, firebug показывает что изменения есть, а если открыть код всей страницы - его нет...
может есть какие-нибудь другие способы динамически задавать UpdateTargetId на уже сформированной странице?
...
Рейтинг: 0 / 0
Ajax.BeginForm динамически менять UpdateTargetId
    #38952569
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yardieа если открыть код всей страницы - его нет.так и должно быть, показывается изначальный код загруженной страницы, динамические изменения в нем не отражаются

yardieда все обновляется. если первоначально задаю нужные мне значения все работает без нареканий!Сравнивайте добуквенно запрос к серверу и ответ от сервера

ну или смотрите вариант 2. Удаленно отлаживать тяжеловато ))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ajax.BeginForm динамически менять UpdateTargetId
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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