My javascript function is calling my MVC 4 controller, but the parameter is always null. This seems to be a common problem, and I've tried a few things I've researched, but nothing is working. Any idea why it's always null?
My javascript GetEntries() function correctly creates an alert that shows the value:
function GetEntries(firstLetter) {
alert(firstLetter);
$.post('/Home/GetEntries',
firstLetter,
EntriesReceived());
}
My controller method breakpoint gets hit:
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
However, firstLetter is always null. I'm not sure what to do.
Failed attempts:
I tried posting using JSON.stringify.
function GetEntries(firstLetter) {
alert(firstLetter);
var firstLetterAsJson = JSON.stringify(firstLetter);
$.post('/Home/GetEntries',
{ jsonData: firstLetterAsJson },
EntriesReceived());
}
I tried adding the HttpPost attribute to my controller:
[HttpPost]
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
I tried changing the parameter name to "id" to match my route mapping:
[HttpPost]
public void GetEntries(string id)
{
Debug.WriteLine(id);
}