Вызвать функцию JavaScript, когда div загружен в Partial Page в MVC - PullRequest
1 голос
/ 13 марта 2019

У меня есть частичная страница, на которой я загружаю элементы div. Я хочу вызвать функцию JavaScript, когда каждый div загружен в моем частичном представлении.

<p class="m-0" onload="markMessageAsDelivered('@item.isDelivered')">@item.Message</p>

Это функция, которая есть у меня в JS на моей странице бритвы.

function markChatAsDelivered(isDelivered) {
            if (!isDelivered)
                alert('markChatAsDelivered');
        }

Эта функция не вызывается. Я пытался положить его в Windows Onload, но все же он не работает. Пожалуйста, дайте мне знать, что можно сделать?

1 Ответ

0 голосов
/ 13 марта 2019

Проблема, с которой я столкнулся, заключается в том, что onload вызывается до того, как ASP.NET вносит свои изменения в страницу.Я использую два решения:

  1. $(document).ready() с JQuery ожидает, пока DOM не будет полностью загружен и готов, поэтому вы можете перенести туда некоторый код.

  2. function pageLoad(sender, args) - это встроенная функция ASP JS (например, Page_Load в вашем коде), которая вызывается по завершении загрузки страницы.Вы можете перенести несколько JS сюда, как первый ответ.

Лично, хотя мне нравится избегать библиотек, мне нравится первый вариант, потому что вы можете использовать более одного на страницу.Это действительно очень полезно, если вы вызываете код на главной странице.Второй вариант хорош, если вы используете его только один раз на страницу, но, очевидно, если вы попытаетесь использовать его как на главной, так и на текущей странице, он не будет работать должным образом.Поэтому я бы порекомендовал JQuery, но если вы должны этого избежать, pageLoad тоже работает.

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