Non è la soluzione più giusta dato che è una modifica al volo, ma prova a fare così:
pagina form.asp
codice:
<HTML>
	<HEAD>
		<TITLE>Form creazione directory</TITLE>
	</HEAD>
	
	<BODY>
	<form method="post" action="createDir.asp">
		<input type="text" name="Name">
		<input type="submit" value="Crea Cartella">
	</form>
	</BODY>
</HTML>
Pagina createDir.asp
codice:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
PUBLIC FUNCTION createDir(dirName)
	Dim objFso
	Dim return
	on error resume next : err = 0
	IF dirName = "" OR dirName = Null THEN
	response.redirect "form.asp"
		response.redirect "vuota.asp"
	return = False
	ELSE
		Set objFso = Server.CreateObject("Scripting.FileSystemObject")
		objFso.CreateFolder(Server.MapPath("public/"&DirName))
		IF (err = 0) THEN
			response.redirect "creata.asp"

			return = True
		ELSEIF (err <> 0) THEN
		response.redirect "non_creata.asp"

			return = False
		END IF
		Set objFso = Nothing
	END IF
	'Se volete sapere perchè da il risultato FALSE allora togliete apice che sta all'inizio del prossimo rigo.
'	Response.Write("DESCRIZIONE ERRORE: "&err.description&"

")
'		Response.Write("NUMERO ERRORE: "&err.number&"
DESCRIZIONE ERRORE: "&err.description&"

")

'	err = 0 : err.clear()
'	createDir = return
END FUNCTION
'Dim page
'page = Request.QueryString("page")
'IF page = "create" THEN

	Response.Write("Il risultato: " & createDir(Request.Form("Name")) & "   (FALSE=Cartella non creata; TRUE=Cartella creata)")

'ELSE
%>
<%
'END IF
%>
poi crei allo stesso livello le due pagine creata.asp e non_creata.asp con il contenuto che vuoi e/o con un redirect a tempo