If youa are serializing a form using something like jQuery, it will often map the JSON keys and values to the properties of a object on the Controller Action you are posting
Another solution if you want a dictionary of key/value pairs:
public void TestMVC(MyObject obj, IDictionary TheWeirdQueryString)
{
}
Client:
function PostForm() {
$.ajax({
url: "/Home/TestMVC",
type: "POST",
dataType: "application/JSON",
data: $('#form').serialize() + "&" + $('.additionalParams').serialize()
});
};
$('.additionalParams').serialize() format:
TheWeirdQueryString[0].Key=param0&TheWeirdQueryString[0].Value=value0&TheWeirdQueryString[1].Key=param1&TheWeirdQueryString[1].Value=value1&...&TheWeirdQueryString[n].Key=paramN&TheWeirdQueryString[n].Value=valueN
UPDATED:
You need something like this: