使用参数从JavaScript调用C#方法

But*_*ers 5 javascript c# methods

我想用JavaScript中的参数调用C#方法.如果我删除s方法的参数,则有可能<% showDetail(); %>

function showDetail(kurz)
        {
            String s = kurz.toString();
            <% showDetail(s); %>;
        }
Run Code Online (Sandbox Code Playgroud)

要测试的C#方法:

public void showDetail(String s)
        {
            Label_Test.Text = s.ToString();
        }
public void showDetail()
        {
            Label_Test.Text = "";
        }
Run Code Online (Sandbox Code Playgroud)

没有参数它工作正常,但s变量我得到编译器错误:

CS0103:当前上下文中不存在名称''

我试过了

showDetail(Object s){....}
Run Code Online (Sandbox Code Playgroud)

并且

showDetail(String s){....}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Var*_*aul 6

创建一个Web方法.这是从Javascript调用c#方法的简单而简洁的方法.您可以使用jQuery Ajax调用该方法.有关webMethod的信息,请参阅以下示例.

[WebMethod]
public static string RegisterUser(string s)
{
    //do your stuff
    return stringResult;
}
Run Code Online (Sandbox Code Playgroud)

然后使用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
        } 
    }); 
} 
Run Code Online (Sandbox Code Playgroud)