Javascript url action in razor view

前端 未结 2 1263
情话喂你
情话喂你 2020-12-06 00:30

I have a javascript method onRowSelected wchich gets rowid. How to pass the rowid in certain action of a controller with HttpGet?

f         


        
2条回答
  •  粉色の甜心
    2020-12-06 01:22

    If your controller action expects an id query string parameter:

    var url = '@Url.Action("Action", "Controller")?id=' + rowid;
    

    or if you want to pass it as part of the route you could use replace:

    var url = '@Url.Action("Action", "Controller", new { id = "_id_" })'
        .replace('_id_', rowid);
    

    yet another possibility if you are going to send an AJAX request is to pass it as part of the POST body:

    $.ajax({
        url: '@Url.Action("Action", "Controller")',
        type: 'POST',
        data: { id: rowid },
        success: function(result) {
    
        }
    });
    

    or as a query string parameter if you are using GET:

    $.ajax({
        url: '@Url.Action("Action", "Controller")',
        type: 'GET',
        data: { id: rowid },
        success: function(result) {
    
        }
    });
    

    All those suppose that your controller action takes an id parameter of course:

    public ActionResult Action(string id)
    {
        ...
    }
    

    So as you can see many ways to achieve the same goal.

提交回复
热议问题