JavaScript 関数が MVC 4 コントローラーを呼び出していますが、パラメーターは常に null です。これは一般的な問題のようで、調査したいくつかのことを試しましたが、何も機能していません。なぜそれが常にnullなのか、何か考えはありますか?
私の JavaScript GetEntries() 関数は、値を示すアラートを正しく作成します。
function GetEntries(firstLetter) {
alert(firstLetter);
$.post('/Home/GetEntries',
firstLetter,
EntriesReceived());
}
コントローラー メソッドのブレークポイントがヒットします。
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
ただし、firstLetter は常に null です。どうすればいいのかわからない。
失敗した試行:
JSON.stringifyを使って投稿してみました。
function GetEntries(firstLetter) {
alert(firstLetter);
var firstLetterAsJson = JSON.stringify(firstLetter);
$.post('/Home/GetEntries',
{ jsonData: firstLetterAsJson },
EntriesReceived());
}
コントローラーに HttpPost 属性を追加してみました:
[HttpPost]
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
パラメータ名を「id」に変更して、ルート マッピングと一致させようとしました。
[HttpPost]
public void GetEntries(string id)
{
Debug.WriteLine(id);
}