Since you don't want any JavaScript powered alert box, then the remaining concept is to just redirect the user to a page where a form is waiting for him to enter his details.
In ASP.NET you can use the
Session[
^] variables to work with the Session of the user. Session is created when he first visits your website and are removed as soon as he leaves your website; closes the browser etc. In ASP.NET you can create a Session variable as
Session["variable_name"] = "value";
Now this variable will be different for every user and for every session. You can use them to save Session related values. Good thing about session variables is that you can remove them if you want to remove them before the user closes the session too.
You wanted to check if the user is visiting for the very first time and has set the name for him or not, you could create a variable for the name (you can create the variable to store the phone_number too; but I am going to provide the answer for the name only), as this
Session["name"] = null;
.. now when he visits your website, in your master page (layout page if you're using Web Pages framework of ASP.NET; others would have a master page) write this code
if(Session["name"] == null) {
} else {
}
Remember: These variables are same on all of the pages, so make sure that you only redirect when the user is not on the web page where the form is. Because if you redirect him from the form page too, the Browser would terminate the request saying, "Request resulted in an infinite redirect".
https://en.wikipedia.org/wiki/URL_redirection[
^]