2011-10-14 54 views
1

我有一個按鈕,提示用戶有關他的行爲(刪除smth)。如果用戶確認,我想用postback執行ActionMethod。我怎麼能做到這一點?如何從JavaScript調用ActionMethod?

+2

見http://stackoverflow.com/questions/764965/basic-ajax-example-with-asp-net-mvc/765974 #765974和http://stackoverflow.com/questions/1843017/sending-string-data-to-mvc-controller-using-jquery-ajax-and-post – Daveo

回答

2

是的,這很簡單,你可以這樣來做

JS

$('#id-of-your-button').click(function() { 
    if(confirm('Are you sure')) 
     document.location = '/controller/action/id_to_delete'; 
}); 

或回傳

$('#id-of-your-button').click(function() { 
    if(!confirm('Are you sure')) 
     return false; 
}); 

如果不是您可以將按鈕沒有提交按鈕這樣做

$('#id-of-your-button').click(function() { 
     if(confirm('Are you sure')) 
      $('#id-of-your-form').submit(); 
     return false; 
    }); 

,如果你沒有什麼(表格並提交按鈕)

$('#id-of-your-button').click(function(){ 
    $.ajax({ url: '/controller/action', 
    dataType: 'html', 
    data: { id_to_delete: $('#where_are_you_holding_your_value').val() }, 
    type: 'post', 
    success: function(data) { 
     alert('your item is deleted'); 
    } 
}); 
+0

如果是post方法(顯然它必須是be)? –

+0

我有固定的代碼,現在看看它,如果你的按鈕是提交按鈕的形式 –

+0

如果我沒有提交按鈕? –