That is not possible and here is why. You need to understand how the web, or web applications in this case, work.
Imagine a user is in Canada and they request page abc.aspx from a server in Australia. The server returns this abc.aspx's html to the browser. The user enters some data and then, without saving, they request another page named bcd.aspx (you call this "jump" but it is actually a request). Now the request arrives to your ASP.NET C# code in Australia (the server). The server has no idea what the user did with the previous page. Actually the server does not even remember the user asking for the previous abc.aspx page, unless you have sessions or something but even in that case, you have no idea what the user did with the previous page. Therefore, it is impossible to save the data because there is no data. It is just another request for another page.
So there is no way to save the data?
Good news is that yes there is but you have to write code for it and you have to do it before the user leaves the abc.aspx
page. You need to write JavaScript code which will be executed on the browser side on the user's computer. When the user is about to leave the abc.aspx page, you either ask the user if they want to save their changes or your JavaScript code will call your server (C# Code) and send the data to you so you can save it. Not only that, it will have to do this using AJAX. So like this:
- User is about to leave (and optionally JavaScript asks the user if they want to save their changes. It would be weird if you do not ask and just save because maybe the user does not want to save)
- JavaScript makes AJAX call to the server and sends the data to save
- The server saves the data and sends a SUCCESS response
- JavaScript receives the response and then request the next page.
- Server returns the next page
- Browser shows the next page.
If you want to take that route of saving before leaving the page, please see this thread.