如何从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之类的技术,正如其他答案中所述。