Another solution may be the following: if you want to access the id property after post action returning the json result, you can return a complex object containing all the necessary data:
public ActionResult GetStuff(string id)
{
ViewBag.Id = id;
stuff = new StuffFromDatabase(id);
return this.Json(new { stuff = stuff, id = id } , JsonRequestBehavior.AllowGet);
}
, json , :
$.post(action, function(returnedJson) {
var id = returnedJson.id;
var stuff = returnedJson.stuff;
});