从javascript调用.cs类文件(c#)函数

时间:2012-05-21 06:27:46

标签: c# javascript

我怀疑从javascript调用.cs类文件(C#)函数     我的代码:     我有类文件(.cs),如call_cs_function_from_js

------------------------------------------------------------------


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace call_cs_function_from_js
{
    public class cal_lcs_function_from_js
    {
        public void getdata()
        {

        }
    }
}

这是javascript代码文件:

<script type="text/javascript">
function call(){
  cal_lcs_function_from_js.getdata();  //This way is not working 
  alert('called');
}
</script>

这里我想从call()调用cal_lcs_function_from_js的getdata(意味着.js)。单击按钮时调用call()。

请告诉我其他方法。

2 个答案:

答案 0 :(得分:5)

您无法直接通过javascript代码调用C#函数。由于javascript在客户端运行,并且您的C#函数驻留在服务器上。 为此,您必须创建一个Web服务,并使用Ajax从您的javascript调用该服务。

<强>更新

  1. 首先将名称空间using System.Web.Services;添加到您的网页。
  2. 将以下方法添加到您的页面

    [WebMethod]
    public string GetData()
    {
        return ("");
    }
    
  3. 使用Ajax调用方法。

    $。AJAX({         类型:“GET”,         url:“/ GetData”,         成功:函数(数据){         });

答案 1 :(得分:0)

使用javascript调用C#函数的唯一方法是在ASP.NET页面中运行C#函数。然后你将使用javascript中的ajax调用来调用ASP.Net页面并检索函数的结果。

http://api.jquery.com/jQuery.ajax/

function call(){
  $.ajax({
    url: "/cal_lcs_function_from_js"
  }).done(function() { 
    alert('called');
  });
}

其中“/ cal_lcs_function_from_js”是在与运行javascript文件相同的Web服务器上的ASP.net中运行的页面。