18

onRowSelected私はrowidを取得するjavascriptメソッドを持っています。コントローラーの特定のアクションでrowidを渡す方法はHttpGet?

function onRowSelected(rowid, status) {
        alert('This row has id: ' + rowid);
        //url: @Action.Url("Action","Controller")
        //post:"GET"
        // Something like this?
    }
4

2 に答える 2

50

コントローラー アクションが id クエリ文字列パラメーターを想定している場合:

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

または、ルートの一部としてそれを渡したい場合は、replace を使用できます。

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

AJAX リクエストを送信する場合のさらに別の可能性は、それを POST 本文の一部として渡すことです。

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

    }
});

または、GET を使用している場合はクエリ文字列パラメーターとして:

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

    }
});

もちろん、これらはすべて、コントローラーアクションが id パラメーターを取ると想定しています。

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

したがって、同じ目標を達成するための多くの方法を見ることができます。

于 2012-07-22T11:46:05.033 に答える