好的,所以我有一些动态生成的HTML。部分原因
StringBuilder.Append("<input type=\"button\" onclick=\"Email_Clicked\" value=\"Email\" class=\"button\" runat=\"server\" />");
我需要这个来调用C#方法Email_Clicked
如果没有asp:button
控件,我怎样才能做到这一点?
答案 0 :(得分:1)
使用jQuery对aspx
页面中的方法进行ajax调用怎么样?看看这篇关于Using jQuery to directly call ASP.NET AJAX page methods
答案 1 :(得分:1)
如前所述,Ajax很容易实现,并且可以解决问题。将此属性放在您的方法上:
<Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)> _
Public Function DoSomething() As Integer
'handle stuff
End Function
您可以使用以下方法从javascript调用该方法:
Declaration.DoSomething()
不要忘记在例如pageload:
中注册你的ajax调用对象Ajax.Utility.RegisterTypeForAjax(GetType(Declaration))
如果您没有注册,则调用Declaration.DoSomething()将无效。
答案 2 :(得分:0)
你不能......直接。
虽然你可以使用Page Methods或普通的AJAX。
以下是结合两者的相关问题:
Calling an ASP.NET server side method via jQuery
答案 3 :(得分:0)
您可以通过在JavaScript中调用__doPostBack
方法来“手动”强制回发。以下网页包含有关如何执行此操作的简短教程:
答案 4 :(得分:0)
使用
onserverclick="Email_Clicked"