如何在 javascript 中创建元素时触发 asp.net 函数?

How to trigger an asp.net function when the element was created in javascript?

加载页面后,我调用了一些 ajax 方法,其中创建了一些 html 元素,例如

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

问题是,当单击 myCoolLink 时,我希望它在代码隐藏中触发 someFunction(带有一些参数),以便我可以检索数据以更新它旁边的网格.


可能的解决方案及其问题:

  1. 将其更改为 LinkBut​​ton 并添加 CommandArgument

CommandArgument 是服务器端 属性,更改它对页面没有任何意义。

  1. 在 myCoolLink
  2. 中添加 __doPostBack()

好吧,它会回发,但由于我无法在我的 link 中添加 runat="server"(与上述可能的解决方案相同的推理),除此之外它不会做太多


我越想越觉得这是不可能的。无论哪种方式,总是欢迎解决我的问题!期待您的回答(:

您可以使用 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() 调用它...