2017-06-21 36 views
0

我會直接去問題: 我有一個問題,從javascript傳遞數據到mvc控制器,並以正確的格式將其提供給提供的模型。下面是代碼(簡化):模型綁定MVC不按預期工作

sender.js

let data = JSON.stringify({id:1, username: 'name'}); 
let request = new XMLHttpRequest(); 
request.open('POST', host); 
request.setRequestHeader('Content-Type', 'application/json'); 
request.send(data); 

控制器:

public class About : Controller { 
    [HttpPost] 
    public IActionResult GetData([FromBody]ModelDto data) { 
     var incommingData = data; 

     return View(); 
    } 
} 

ModelDto.cs:

public class ModelDto { 
    public ModelDto() {} 

    public int Id {get; set;} 
    public string Username {get; set;} 
} 

的問題是:顯然的模型是綁定,但具有給定類型的默認值(給定示例爲0和null)。親切的問候。

+1

你可以使用Jquery發送請求嗎? –

+0

與jQuery的結果是完全一樣的。謝謝 –

+0

您當前的代碼有一個錯字(使用名稱而不是用戶名)。但它應該適用於Id屬性值。你真的確定上面的代碼不工作嗎? – Shyju

回答

0

您正在發送屬性名稱'name',但接收'用戶名'。

屬性名應當匹配

+0

我在這裏拼寫錯了抱歉。讓我解決它。其實這些屬性相匹配。 –

+0

我認爲還需要正確的外殼,即名稱不是名稱。 – Steve

0

我已經快速創建小的解決方案,並試圖重現你的問題,但一切都爲我工作,所以我想這個問題是不是在你在你的問題將代碼粘貼。

您的解決方案中是否定義了一些定製粘合劑?你可以檢查請求看起來像例如在小提琴手?