4

I have a function named "callfunction()" in JavaScript(Mypage.aspx) .This function should call another function "func()" in C# (Mypage.aspx.cs )

Something like this:

(in Mypage.aspx)

 function callfunction()

 {

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

 }

 </script>

(in Mypage.aspx.cs file)

 public void func()

 {

 // My code goes here

 }

I have researched alot because of this and i ended up so far with 2 conclusions: 1st was to use Json, but my superiors said clearly that they dont want me to do so. 2nd was that i cant do as i wish because of the client, server aspnet protocol

Please give me any kind of tip in how to do this, i am getting desperate

3
  • You should use Ajax on it.. It is very easy to implement.. Commented Jul 1, 2013 at 10:30
  • 1
    no need for json you can call an event handler of any hidden button of aspx using _postback() Commented Jul 1, 2013 at 10:34
  • Hum maybe using postback would be a solution from now, but i dont know if i need more specific way to do this Commented Jul 1, 2013 at 11:00

3 Answers 3

6

Ok....Try using page methods

First add a script manager on your aspx page

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

Then go to your aspx.cs page and declare a function something like

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

Then from your javascript call the c# method like

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

And also in ur javascript create 2 call back functions CallSuccess_Login and CallFailed_Login

Hope it helps

Sign up to request clarification or add additional context in comments.

4 Comments

This seems to me to be the "use json" answer. I believe they don't want him to use a web service.
doesn't have to be json.It can be a return type of string too. :)
i am not sure but don't think it has to be JSON in the return type
ill talk with my superiors to ask if i can use page methods, anyway thanks for your help
3

If it's a webforms project (not MVC) and you don't want to use AJAX, you can use __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
  }
}

Comments

0

below are the options available to you

  1. If your using asp.net then use Ajax tools to create this

  2. if you don’t want to user Ajax toolkit use JavaScript __doPostBack

  3. or other option write server side function in the web service and call web method using JavaScript

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.