使用参数从JavaScript调用C#方法
我想用JavaScript中的参数调用C#方法。 如果我删除方法的参数
s
,则有可能
function showDetail(kurz) { String s = kurz.toString(); ; }
要测试的C#方法:
public void showDetail(String s) { Label_Test.Text = s.ToString(); } public void showDetail() { Label_Test.Text = ""; }
没有参数它工作正常,但有s
变量我得到编译器错误:
CS0103:当前上下文中不存在名称”
我试过了
showDetail(Object s){....}
并且
showDetail(String s){....}
但它不起作用。
创建一个Web方法。 这是从Javascript调用c#方法的简单而简洁的方法。 您可以使用jQuery Ajax调用该方法。 有关webMethod的信息,请参阅以下示例。
[WebMethod] public static string RegisterUser(string s) { //do your stuff return stringResult; }
然后使用jQuery ajax调用此方法。 您也可以传递参数。 如下所示
function showDetail(kurz) { String sParam = kurz.toString(); $.ajax({ type: "POST", url: "PageName.aspx/MethodName", data: "{s:sParam}", // passing the parameter contentType: "application/json; charset=utf-8", dataType: "json", success: function(retValue) { // Do something with the return value from.Net method } }); }
使用隐藏字段传递值(使用javascript设置值)。 并使用out参数调用javscript函数。该值可以从隐藏字段中获取
您可以使用WebMethods实现此目的
首先创建一个web方法。
[WebMethod] public string MethodName(string Parameter) { string msg=string.Empty; //Your Code return msg; }
并在Java脚本调用中起作用
WebService.MethodName(Parameter,onSuccess,Error) // Here Webservice is the name of your asmx file function onSuccess(result) { //Your code } function Error() { alert("Error"); }
Varun Paul提供的解决方案是我使用的解决方案,只要您纠正以下错误,它就可以正常工作:数据:“{s:sParam}”,
它应该写成:data:{s:sParam},
data用于将参数传递给C#方法。 希望能帮助到你。 谢谢,
它可以与javascrip
t交互c# application
,使用jint.dll
Jint – .NET的Javascript解释器
例如
以下是java脚本函数
function reverse(my_str) { var sb = new jintTestApplication.Test();//jintTestApplication is the namespace name return sb.Test1(reverse2(my_str) ); } function reverse2(my_str) { var comStr=""; var result=""; var i=my_str.length; i=i-1; for (var x = i; x >=0; x--) { result= my_str.charAt(x); comStr+=result; } return comStr; }
所以在这种情况下你必须在javascript中创建你的类的对象,并且可以调用ac#方法
上述就是C#学习教程:使用参数从JavaScript调用C#方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
JintEngine engine = new JintEngine(); engine.Run(ReadJavaScript()); Console.WriteLine(engine.Run("reverse('Foooooo');")); public static string ReadJavaScript() { string allines = File.ReadAllText(@"[path]test.js"); } public void Test1(string message) { MessageBox.show(message); }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1039641.html