如何从JavaScript调用C#函数?

我想从JavaScript后面调用CsharpFunction代码。 我试了下面的代码。 问题是无论条件是True还是False ,编译器都会调用CsharpFunction ! 我如何控制这个?

JavaScript代码:

 if (Javascriptcondition > 0) { <%CsharpFunction();%> } 

后面的C#代码:

 protected void CsharpFunction() { // Notification.show(); } 

感谢帮助!

您可以使用Web方法和Ajax

  <script type="text/javascript"> //Default.aspx function DeleteKartItems() { $.ajax({ type: "POST", url: 'Default.aspx/DeleteItem', data: "", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { $("#divResult").html("success"); }, error: function (e) { $("#divResult").html("Something Wrong."); } }); } 
  [WebMethod] //Default.aspx.cs public static void DeleteItem() { //Your Logic } 

希望这可能会有所帮助,在代码隐藏中使用Webmethod参数,并从JavaScript调用

lINK —> 从javascript调用代码隐藏函数

服务器端函数在服务器端,客户端函数驻留在客户端上。 你可以做的是你必须设置隐藏的表单variables并提交表单,然后在页面上使用Page_Load处理程序可以访问variables的值并调用服务器方法。

更多信息可以在这里和这里find

 .CS File namespace Csharp { public void CsharpFunction() { //Code; } } JS code: function JSFunction() { <%#ProjectName.Csharp.CsharpFunction()%> ; } 

注意:在JS函数中调用你的CS页面函数时….工程名字,然后是CS页面名字空间的名称,然后是函数名称

如果你打算从客户端进行服务器调用,你应该使用Ajax–看看类似于Jquery的东西,并使用$ .Ajax()或者$ .getJson()来调用服务器function,具体取决于你的返回types在你想要执行的行动之后。

你不能。 Javascript运行客户端,C#运行服务器端。

事实上,你的服务器将运行所有的C#代码, 生成 Javascript。 那么,Javascript就是在浏览器中运行的。 正如在评论中所说,编译器不知道Javascript。

要调用服务器上的function,就必须使用诸如AJAX之类的技术,正如其他答案中所述。