如何从标准HTML输入调用C#方法

时间:2011-03-29 14:37:05

标签: c# javascript asp.net

好的,所以我有一些动态生成的HTML。部分原因

StringBuilder.Append("<input type=\"button\" onclick=\"Email_Clicked\" value=\"Email\" class=\"button\" runat=\"server\" />");

我需要这个来调用C#方法Email_Clicked

如果没有asp:button控件,我怎样才能做到这一点?

5 个答案:

答案 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"