Как вызвать функцию asp. net, когда элемент был создан в javascript? - PullRequest
0 голосов
/ 25 мая 2020

После загрузки страницы я вызываю некоторые методы ajax, в которых создаются некоторые html элементы, например

$.ajax({
       ...
       success: function (data) {
          ...
          var myCoolLink = $("<a/>").attr('id', 'xyz')
                            .attr('onclick', 'doStuff()')
                            .appendTo(someOtherElement);
       }
});

Проблема в том, что при нажатии myCoolLink, Я хочу, чтобы он запускал someFunction (с некоторыми аргументами) в выделенном коде, чтобы я мог извлекать данные для обновления сетки рядом с ним.


Возможные решения и их проблемы:

  1. Измените его на LinkButton и добавьте CommandArgument

CommandArgument - это свойство на стороне сервера, его изменение не будет иметь никакого значения для страницы.

Добавить __doPostBack () в myCoolLink

Ну, это будет обратная передача, но поскольку я не могу добавить runat = "server" в свою ссылку (те же рассуждения из возможного решения выше), это кроме этого ничего не сделает.


Чем больше я думаю об этом, тем больше убеждаюсь, что это невозможно. В любом случае, обходные пути к моей проблеме всегда приветствуются! Жду ваших ответов (:

1 Ответ

0 голосов
/ 25 мая 2020

Вы можете сделать это с помощью ASP, NET Ajax PageMethods

Обратитесь к этому

https://www.c-sharpcorner.com/UploadFile/amit12345/call-pagemethod-from-jquery-ajax/

Если вы можете использовать ajax диспетчер сценариев, тогда это может быть подход.

https://www.aspsnippets.com/Articles/Calling-ASPNet-AJAX-PageMethods-using-ScriptManager-Example.aspx

Вызовите его из doStuff () в вашем случае здесь ...

...