MVC and ASP.net questions

Already Viewstate avalible in asp.net,then why viewbag and tempdata introdued in MVC?

in asp.net we have page life cycle.simmlar mvc how it will work?

how we are restrict unwanted url in mvc.suppose if i call unwanted url,that time i found"page not found"error.but i don't want to display "page not found" error msg.insead of that based on that issue code,need to display the custom error msg in MVC

why we need to go for partial view.alrady we have usecontrol doing similar functionlity,thn why we need to go for partial view in mvc?