This should work:
string actn = Convert.ToString(Request.Form.Get("action"));
Also, if you are using the above method, you do not need the runat=server attribute in the hidden field. The runat attribute is used to manipulate an HTML control in code, you are simply trying to get its value.
Read this if you want to know how to get a correct reply for your question:
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
Technical Editor for: Professional Search Engine Optimization with ASP.NET