Question: I have created a MVC3 application. There are lot of HTML tags inside the view and i'm not using Razor view html tag since we are using sitecore for content management. (We are using simple html tag like `<input type="textbox" id="">`)

And at the end of the page i have button called `GET a Quote`. On click of this button we need to display Loader on the same button, then we have to redirect to another page. 

Before redirecting, we need to capture all the form values and we have to calculate quote, i.e, we have to fetch form values in `Controller` method/action.

Can anyone suggest me, which is the best way to do?

As per i know, 

1. We can have `Submit` for `GET a Quote`, and we can capture this value in the Controller method using 

[HttpPost]
 public ActionResult(FormCollection form) 
 { 
 }

But here, how we can display Loader image on the Submit button.
2. We can Make `GET a Quote` as Hyperlink, and we can call the script, that will capture all the form values and then we can pass it to Controller action method.

But here the problem is, some of the fields will be added dynamically. These dynamically added fields will have the Dynamically created `ID`. How we can capture all forms data?

Please suggest.

Answer: 
I've written quite a lot about my initial investigations into RIO from native code [here](http://www.serverframework.com/asynchronousevents/rio/) (as the commenter to your original question pointed out).

I'd be interested to know what you're hoping to achieve by using RIO from managed code? RIO's likely target audience are developers who need to reduce latency in their networking code. Personally I'm not convinced that managed code is necessarily ideal for the kind of applications that RIO was aimed at; I may be wrong, but I'd expect that having the chance that the CLR could trigger a garbage collection at any point would not be the kind of thing that someone using RIO would want...

Anyway. I think that if you wanted to use RIO from managed code then I'd recommend NOT simply using P/Invoke and instead writing a component that manages all of the RIO work in native code and that, perhaps, calls back into managed on various network events. But again, that's just how I'd do it...
RIO is being investigated experimentally for the "channels" API, currently in an inception / exploration stage, but usable from here: <https://github.com/davidfowl/Channels>. This is alongside a libuv API, and a "channels"-based winsock API. With respect to your question about extending the socket class: the nature of these APIs seems to make a different approach desirable - hence "channels".