如何在 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(带有一些参数),以便我可以检索数据以更新它旁边的网格.
可能的解决方案及其问题:
- 将其更改为 LinkButton 并添加 CommandArgument
CommandArgument 是服务器端 属性,更改它对页面没有任何意义。
- 在 myCoolLink
中添加 __doPostBack()
好吧,它会回发,但由于我无法在我的 link 中添加 runat="server"(与上述可能的解决方案相同的推理),除此之外它不会做太多
我越想越觉得这是不可能的。无论哪种方式,总是欢迎解决我的问题!期待您的回答(:
您可以使用 ASP,NET Ajax PageMethods
参考这个
https://www.c-sharpcorner.com/UploadFile/amit12345/call-pagemethod-from-jquery-ajax/
如果您可以使用ajax脚本管理器控件,那么可以采用这种方法。
在您的情况下从 doStuff() 调用它...
加载页面后,我调用了一些 ajax 方法,其中创建了一些 html 元素,例如
$.ajax({
...
success: function (data) {
...
var myCoolLink = $("<a/>").attr('id', 'xyz')
.attr('onclick', 'doStuff()')
.appendTo(someOtherElement);
}
});
问题是,当单击 myCoolLink 时,我希望它在代码隐藏中触发 someFunction(带有一些参数),以便我可以检索数据以更新它旁边的网格.
可能的解决方案及其问题:
- 将其更改为 LinkButton 并添加 CommandArgument
CommandArgument 是服务器端 属性,更改它对页面没有任何意义。
- 在 myCoolLink 中添加 __doPostBack()
好吧,它会回发,但由于我无法在我的 link 中添加 runat="server"(与上述可能的解决方案相同的推理),除此之外它不会做太多
我越想越觉得这是不可能的。无论哪种方式,总是欢迎解决我的问题!期待您的回答(:
您可以使用 ASP,NET Ajax PageMethods
参考这个
https://www.c-sharpcorner.com/UploadFile/amit12345/call-pagemethod-from-jquery-ajax/
如果您可以使用ajax脚本管理器控件,那么可以采用这种方法。
在您的情况下从 doStuff() 调用它...