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
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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
Method 2
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
}
}
Method 3
below are the options available to you
- If your using asp.net then use Ajax tools to create this
- if you don’t want to user Ajax toolkit use JavaScript __doPostBack
- or other option write server side function in the web service and call web method using JavaScript
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0