2012-07-22 21 views
15

Bir javascript yöntemim var onRowSelected wchich gets rowid. HttpGet ile bir denetleyicinin belirli eyleminde rowid nasıl geçirilir?Javascript urv eylemi jilet görünümü

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

cevap

39

Denetleyiciniz eylem bekliyorsa bir kimlik sorgu dize parametresi:

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

ya sen kullanabilirsiniz güzergahın parçası olarak geçirmek istiyorsanız değiştirin:

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

henüz Bir AJAX isteğini gönderecekseniz başka bir olasılık POST gövdesinin bir parçası olarak iletmektir:

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

    } 
}); 

veya bir sorgu dizesi parametresi olarak GET kullanıyorsanız: Eğer birçok yol gördüğünüz gibi

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

:

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

    } 
}); 

Tüm bu Denetleyiciniz eylem elbette bir kimlik parametresi aldığını varsayalım Aynı hedefe ulaşmak için.

+0

İlk cevabın neden çalışmadığını merak ediyorum. Ajax cevapları iyi çalışıyor. – nebula

+0

Son oluşturulan url, kaynak kodda nasıl görünüyor? –

+0

Firebug'da bile hiçbir olay tetiklenmez. URL değişmez. – nebula

İlgili konular