The ViewBag or ViewData containers cannot be used to transfer data back to the controller. This is to due with the fact that the page is Stateless. Therefore once the View has been completely rendered (and all subsequent views) the ViewBag containers are disposed of.
To pass information back to the controller your options are using a HttpGet or HttpPost in the query string or form properties. This can be through traditional requests or via aJax requests.
You CAN however bind a value in your ViewBag \ ViewData to a model property. However that model property must be sent back to the controller using one of the methods above.
Hope this helps.