-1

JavaScript から ac# 関数を呼び出そうとしました - そのメソッドと一緒にパラメーターを渡したいのですが、どのようにパラメーターを渡すことができますか?

以下は、aspx ページの JavaScript です。

function CallCodeBehind(id) {
    var a = '<%=CallFromJS(--parameter need pass here --)%>';
}

以下のメソッドは分離コードにあります

public string CallFromJS(id) {
    int id=id;
    getNames(id);    
    return null;
}

ボタンのコードは次のとおりです。

<Button ID="Button1" runat="server" OnClientClick="CallCodeBehind(<%=(id)%>)"     Text="Upload" />
4

1 に答える 1

1

WebMethodsはパラメーターを持つことができますが、メソッドは静的である必要があります。

サーバー側(* .csコードビハインド):

[WebMethod]
public static string Hello(string name)
{
  return "Hello " + name;
}

そして、次のようにjavascriptから呼び出します。

<script type="text/javascript">
    function SayHelloToMe(param) {
      PageMethods.Hello(param, OnSuccess, OnError);
    }

    function OnSuccess(response) {
      alert(response);
    }

    function OnError(error) {
      alert(error);  
    }  
</script>

とボタン:

<Button ID="Button1" runat="server" OnClientClick="SayHelloToMe('<%=(id)%>')"     Text="Upload" />

もちろん、idはパブリックである必要があり、そのフォームでは、次のように、PageMethodsが有効になっているScriptManagerが必要です。

<asp:ScriptManager ID="scMan" runat="server" EnablePageMethods="true"></asp:ScriptManager>
于 2012-05-21T09:49:14.680 に答える