简体   繁体   中英

Call c# function with javascript code

I would like to call a code behind function from the client side. The function cannot be static - should modified unstatic variabels. I was able to create a non-visible button, and when I need that function I demonstrate a click on that btn. How can I send parameters to that code behind function?

$.ajax({
    url: '/ControllerName/ActionName',
    type: "GET",
    data: { param1: val1 },
    success: function (res) {
        alert(res) // res is results that came from function
    }
});

This is the client side to call backend method. The server side to accept this request:

    public ActionResult ActionName(string param1)
    {
        return View(param1);
    }

In this case, we used jQuery, the javascript plugin, and we used AJAX request, also sending parameters.

Using MVC and jQuery

Client Side ( Using Razor )

$.ajax({
    url: '@Url.Action("ActionName","ControllerName",new{parameters})',
    type: "GET",
    contentType: "application/json",
    data: { param1: val1 },
    success: function (res) {
        alert(res) // res is results that came from function
    },
    error: function (jqXHR, error, errorThrown) {
        console.log('An error as occured');
    },
});

Server Side

[HttpGet]
public JsonResult ActionName(string param1)
{
     return Json(param1, JsonRequestBehavior.AllowGet);
}

Note: HttpGet Verb is the default verb for every ActionResult/JsonResult

the button have a CommandArgument attribute that you can use to send a value to that function and you can read it as follow :

public void yourFunction(object sender,Eventargs e)
{
   string args = ((LinkButton)sender).CommandArgument.ToString();
   // rest of code here
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM