Bonjour à tous,

Je cherche à réaliser un formulaire qui se passe en 4 étapes :

Etape 0 : Affichage d'un formulaire vide avec des champs et une partie pour upload
Etape 1 : Upload d'un fichier et affichage des données le concernant
Etape 2 : Ajout de données diverses via des champs
Etape 3 : Clic sur Ajouter : envoie les données (en les validant auparavant)

J'ai réussi à le faire mais il y a quelque chose qui ne va pas comme je l'aimerai :

La page create est composée de deux formulaires : un pour l'upload qui pointe sur MonController/Upload et un formulaire qui est composé de champs divers dont un qui reprend le nom du fichier uploadé précédemment qui pointe sur MonController/Create.

C'est à partir de là ou je pense mal m'y prendre :
Lorsque j'uploade mon fichier, je dois créer une nouvelle instance de mon objet qui sert de Model puis je sette la property Fichier avec le nom du fichier uploadé. Une fois fait, je dois rediriger vers le formulaire de création avec cette nouvelle instance de mon objet.

Là il y a quelque chose qui ne colle pas dans le sens où cet objet instancié possède une propriété Date qui est initialisée à Date.MinDate ce que je ne veux pas car le formulaire affiché a deux éléments renseignés au lieu d'un seul (Fichier et date renseignés au lieu de seulement Fichier).
Ensuite, le second probleme est qu'il passe par la validation de mon Model alors que je n'ai pas fait de submit sur mon formulaire concernant mon objet Model mais seulement la validation concernant l'upload du fichier.
Je pense que je m'y prend mal pour ce procédé. Comment le verriez vous ?

Merci d'avance

Edit : je poste un peu de code

Action Upload
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 Function Upload()
 
        If Request.Files.Count = 1 Then
            Dim fic As HttpPostedFileBase = Request.Files(0)
            If fic.ContentLength > 0 Then
                Try
                    Dim bmp As New System.Drawing.Bitmap(fic.FileName)
                    Dim CheminFichier As String = IO.Path.Combine(HttpContext.Server.MapPath("../Content/Photos"), IO.Path.GetFileName(fic.FileName))
                    fic.SaveAs(CheminFichier)
                    Dim p As New Photo
                    p.Fichier = IO.Path.GetFileName(fic.FileName)
 
 
 
                    Return RedirectToAction("Create", p)
                Catch ex As Exception
                    Return RedirectToAction("Create")
                End Try
            End If
        End If
 
        Return RedirectToAction("Create")
    End Function
Action Create
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    Function Create() As ActionResult
        ViewData("Categories") = New SelectList(_serviceCategories.GetList, "IDCategorie", "Nom")
 
        Return View()
    End Function
Pour résumer ce que je cherche à faire très simplement :
Dans l'action Upload, je récupère un nom de fichier. J'aimerai que quand je fais le redirectToAction("Create") pouvoir placer ce nom de fichier dans l'input correspondant à Model.Fichier