I have something wrong with either json or ASP.NET MVC, I am using ASP.NET MVC and here is what I am sending from the client.
NOTE After debugging in Chrome, I am explaining that this is what is passed within javascript, I am not manually setting State to null as it is coming as result from somewhere else as null. Which once again is not in my control as it is coming from database.
While debugging, State displays that it is null, instead of "null", but while debugging in MVC it is displaying "null" instead of null.
$.ajax(
'/Client/Post',
{
method: 'POST',
data: {
Country: 'US',
// this is null because it is coming from somewhere else as null
State: null
}
});
My ASP.NET MVC Handler receives...
public ActionResult Post(Client model){
if(model.State == "null")
{
/// this is true... !!!!
}
if(model.State == null )
{
// :( this should be true...
}
}
Is it problem of ASP.NET MVC or jQuery?
So is it jQuery that sends null as "null" or is it MVC that is setting null as "null"?
SOLUTION
I had to just recursively create new object hierarchy (cloning the object) and send it to jQuery, as jQuery sent data as Form Encoded, in which there is no way to represent null, however ideally jQuery should not have serialized null at all.