2012-12-14 79 views
1

我有這種形式如何獲得從AjaxOptions控制器使用ASP淨MVC返回的數據,4

@using (Ajax.BeginForm("opImportFile", "Operacao", new AjaxOptions { HttpMethod = "POST", 
OnSuccess = "LimparCampos('true')", OnFailure = "LimparCampos('false')" }, 
new { id = "formUpdStoringSettings" })) 
{ ... } 

而不是真的還是假的,我想通過通過/ Operacao/opImportFile

返回一個字符串

這可能嗎?

回答

1

基於documentation,回調函數提供了返回的ajax內容,該內容本身有一個「get_data()方法來從服務器獲取響應」。

在你的定義,你可能只需要指向回調方法,並沒有真正把它自己(的意思,不包括paramters):

OnSuccess = "LimparCampos" 
0

嘗試建立回調函數這樣:

OnSuccess = "LimparCampos" 

,並訪問數據:

function LimparCampos(response) { 
    var jsonResult = response.get_response().get_object(); 

    } 
1

我這樣傾斜d避免使用AjaxForm。我會寫正常的形式,並有我的JavaScript處理表單發佈分開。簡單而乾淨。

@using(Html.Beginform("opImportFile","Operaco")) 
{ 
    //some elements here 
    <input type="submit" value="Save" id="btnSave" /> 
} 

而且一些JavaScript使我們的形式提交給Ajax化的版本

$(function(){ 
    $("#btnSave").click(function(e){ 
    var _form=$(this).closest("form"); 
    e.preventDefault(); 
    $.post(_form.attr("action"),_form.serialize(),function(response){ 
     // now response variable has the return item from the action method. 
     // and do some fun stuff with that. 
     alert(response); 

    }); 
    }); 
}); 

您可以返回從你的操作方法什麼。字符串,JSON或局部視圖。

相關問題