appel d'une action d'un controlleur dans Beginform
bonjour,
j'ai une vue contenant un beginform pour faire le submit de mon bouton
quand j arrive sur la page j'ai cette erreur :
Code:
@Using (Html.BeginForm("Test", "Ctrl2", FormMethod.Post))
Erreur :
Code:
1 2
| Une exception de type 'System.NullReferenceException' s'est produite dans App_Web_0xodyict.dll mais n'a pas été gérée dans le code utilisateur
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet. |
voici mon action :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<HttpPost>
Function Test(ByVal id As Long, ByVal lien1 As String, ByVal lien2As String, ByVal lien3 As String, _
ByVal lien4 As String, ByVal lien5 As String, ByVal Suivant As String) As ActionResult
If Not String.IsNullOrEmpty(lien1) Then
Return RedirectToAction("Details", "Ctrl1", New With {.id = id})
ElseIf Not String.IsNullOrEmpty(lien2) Then
Return RedirectToAction("Details", "Ctrl2", New With {.id = id})
ElseIf Not String.IsNullOrEmpty(lien3) Then
Return RedirectToAction("Details", "Ctrl3", New With {.id = id})
ElseIf Not String.IsNullOrEmpty(lien4) Then
Return RedirectToAction("Details", "Ctrl4", New With {.id = id})
ElseIf Not String.IsNullOrEmpty(lien5) Then
Return RedirectToAction("Details", "Ctrl5", New With {.id = id})
ElseIf Not String.IsNullOrEmpty(Suivant) Then
Return RedirectToAction("Details", "Ctrl3", New With {.id = id})
End If
Return RedirectToAction("Details", "Ctrl4", New With {.id = id})
End Function |
voici l'action Detail :
Code:
1 2 3 4
|
Function Details(ByVal id As Integer) As ActionResult
Return View(context.Obj1.FirstOrDefault(function(x) x.Id = id))
End Function |
Pour etre plus complet j ai 5 controlleur : Ctrl1 => Ctrl5
pareil pour les vues qui vont avec les controlleur dans ce cas ci Details : viewDetail1 => viewDetail5
si je passe de viewDetail1 à viewDetail2 et ensuite de viewDetail2 à viewDetail3 et etc, cela fonctionne.
Si je passe de viewDetail1 à viewDetail3 j ai l'erreur mentionné plus haut.
Par contre si je passe de viewDetail1 à viewDetail2 et ensuite de viewDetail2 à viewDetail3 qu'ensuite je reviens à viewDetails1 et que je clique pour aller sur viewDetail3 cela fonctionne.
Avez-vous une idée ?
D'avance merci.