3

JavaScript(Mypage.aspx) に「callfunction()」という名前の関数があります。この関数は、C# (Mypage.aspx.cs) で別の関数「func()」を呼び出す必要があります。

このようなもの:

(Mypage.aspx 内)

 function callfunction()

 {

  // i have to call func() function here .....

 }

 </script>

(Mypage.aspx.cs ファイル内)

 public void func()

 {

 // My code goes here

 }

このため、私は多くのことを調査しましたが、これまでに2つの結論に達しました.1つ目はJsonを使用することでしたが、上司は私にそうすることを望んでいないと明確に言いました. 2つ目は、クライアント、サーバーのaspnetプロトコルが原因で、思い通りにできないことでした

これを行う方法について何かヒントを教えてください、私は必死になっています

4

3 に答える 3

6

わかりました....使ってみてくださいpage methods

まず、aspx ページにスクリプト マネージャーを追加します。

  <asp:ScriptManager ID="scpt" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

次に、aspx.cs ページに移動し、次のような関数を宣言します。

[System.Web.Services.WebMethod]
    public static string ValidateUser(string emailId, string password)
    {
        //Your logic code
        return returnString;
    }

次に、JavaScript から次のような c# メソッドを呼び出します

 PageMethods.ValidateUser(email, password, CallSuccess_Login, CallFailed_Login);

また、ウルのjavascriptで2つのコールバック関数CallSuccess_Loginを作成し、CallFailed_Login

それが役に立てば幸い

于 2013-07-01T10:38:25.270 に答える
3

それが Webforms プロジェクト (MVC ではない) であり、AJAX を使用したくない場合は、__doPostBackを使用できます。

<script type="text/javascript">
 function callfunction(parameter)
 {
     __doPostBack('func', parameter)
 }
</script>

C#:

public void Page_Load(object sender, EventArgs e)
{
  string parameter = Request["__EVENTARGUMENT"]; // parameter
  var senderObject = Request["__EVENTTARGET"]; // func
  if(senderObject == "func")
  {
     //call your function here, or write the implementation
  }
}
于 2013-07-01T10:44:56.110 に答える