web-dev-qa-db-ja.com

かみそりビューでのJavaScript URLアクション

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

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

コントローラーアクションがidクエリ文字列パラメーターを期待する場合:

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

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

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

AJAXリクエストを送信する場合のもう1つの可能性は、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)
{
    ...
}

あなたが同じ目標を達成するための多くの方法を見ることができるように。

47
Darin Dimitrov