How are you accessing the database? If you are using an ORM (such as NHibernate or LINQ to SQL) then the object should have it's ID property updated after you insert it into the database.
If you are hand rolling the SQL then you need to do a select in the same statement as the insert of:
insert into ...
select scope_identity()
This will return the ID of the row you have just created.
Then you can do this within your action:
return RedirectToAction("YourActionName", new {id});
With the ID retrieved either from the saved object or the return value of the SQL. Whichever fits your scenario.
Edit
As you've mentioned you are using NHibernate then you can do this:
var myNewObject = // some way of creating the object
// some way of saving the object
// at this point NHibernate will have set the ID of the object for you
return RedirectToAction("YourActionName", new { id = myNewObject.Id });