当前位置: 首页 > 编程语言 > C#

从JavaScript调用C#方法,参数共享

时间:2023-04-10 12:09:03 C#

从JavaScript调用C#方法,带参数我想在JavaScript中调用一个带参数的C#方法。如果我删除方法的参数s,则可能functionshowDetail(kurz){Strings=kurz.toString();;}C#测试方法:publicvoidshowDetail(Strings){Label_Test.Text=s.ToString();}publicvoidshowDetail(){Label_Test.Text="";没有参数它工作正常但使用s变量我得到编译器错误:CS0103:名称“在当前上下文中不存在”我试过showDetail(Objects){....}和showDetail(Strings){....}但它不起作用。创建一个网络方法。这是从Javascript调用c#方法的一种简单而干净的方法。您可以使用jQueryAjax调用该方法。请参阅以下webMethod示例。[WebMethod]publicstaticstringRegisterUser(strings){//做你的事情returnstringResult;}然后使用jQueryajax来调用这个方法。也可以传递参数。如下图functionshowDetail(kurz){StringsParam=kurz.toString();$.ajax({type:"POST",url:"PageName.aspx/MethodName",data:"{s:sParam}",//传递参数contentType:"application/json;charset=utf-8",dataType:"json",success:function(retValue){//使用.Net方法的返回值做一些事情}});}使用hidden字段传值(使用javascript设置值)。并使用out参数调用javscript函数。该值可以从隐藏字段中获取您可以使用WebMethods实现此目的首先创建一个Web方法。[WebMethod]publicstringMethodName(stringParameter){stringmsg=string.Empty;//你的代码returnmsg;}并在java脚本调用中工作WebService.MethodName(Parameter,onSuccess,Error)//这里Webservice是你的asmx文件的名称functiononSuccess(result){//你的代码}functionError(){alert("Error");VarunPaul提供的解决方案是我使用的解决方案,只要您更正以下错误,它就可以正常工作:数据:“{s:sParam}”,应该写为:数据:{s:sParam},数据用于将参数传递给C#方法。希望能帮到你。谢谢,它可以与javascripttc#应用程序交互,使用jint.dllJint-.NET的Javascript解释器例如下面是java脚本函数functionreverse(my_str){varsb=newjintTestApplication.Test();//jintTestApplicationis命名空间名称returnsb.Test1(reverse2(my_str));}functionreverse2(my_str){varcomStr="";变种结果=“”;vari=my_str.length;我=我-1;对于(varx=i;x>=0;x--){result=my_str.charAt(x);comStr+=结果;}返回comStr;所以在这种情况下你必须在javascript中创建你的类的对象并且可以调用c#方法以上是C#学习教程:使用参数从JavaScript调用C#方法所有内容分享,如果对大家有用的话和需要了解更多的C#学习教程,希望大家多多关注——JintEngineengine=newJintEngine();engine.Run(ReadJavaScript());Console.WriteLine(engine.Run("反向('Foooooo');"));publicstaticstringReadJavaScript(){stringalllines=File.ReadAllText(@"[path]test.js");}publicvoidTest1(stringmessage){MessageBox.show(message);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: