在asp.net中从JavaScript调用c#函数

时间:2013-04-02 11:21:29

标签: c# javascript asp.net pagemethods

我有一个函数,在c#中命名为callData()。现在我想从JavaScript调用此函数。我不需要对JavaScript进行任何操作。我只想打电话给那个功能。在这个问题上,我不需要任何其他选项..我想知道如何从JavaScript调用c#方法。

的JavaScript

<script type="text/javascript">
function call()
    {
    //To call callData function

    }
</script>

Html代码

 <html>
 <div>
 <asp:Button ID="hbtn" runat="server" OnClientClick="Javascript:call();"/>
 </div>
 </html>

C#代码

public static void callData()
{
 //some operations
}

3 个答案:

答案 0 :(得分:0)

您可以通过在Web服务中将C#函数设置为Web方法来实现此目的。一旦你这样做,你可以使用jQuery并调用该函数。据我所知,你不能只是在javascript中调用C#方法。

答案 1 :(得分:0)

这个问题已经得到了很多人的回答。即便如此,我建议你在这里找到最好的答案。请click here

答案 2 :(得分:0)

您需要使用WebMethod属性修饰C#服务器端方法,并将其设置为静态以将其公开为可调用的AJAX成员:

[WebMethod]
public static void callData() {
  //some operations
}

然后在JavaScript方法中使用ajax方法,如下所示:

$.ajax({
  type: "POST",
  url: "path/to/page/callData",
  contentType: "application/json; charset=utf-8",
  data: {},
  dataType: "json",
  success: function (data) { },
  error: function (xhr, status, error) { }
});

其中successFnerrorFn分别是处理成功或失败结果的函数,例如。