J'ai besoin de faire quelques calculs sur un ASP.NET MVC View, une action différente de la soumission du formulaire. J'ai essayé différentes méthodes pour passer le modèle actuel à une nouvelle action de contrôleur via un lien Action, mais le modèle ne semble pas être passé.Comment effectuer une action secondaire (c'est-à-dire calculer des champs) dans ASP.NET MVC?
public ActionResult Calculate(MuralProject proj)
{
ProjectFormRepository db = new ProjectFormRepository();
List<Constant> constants = db.GetConstantsByFormType(FormTypeEnum.Murals);
proj.Materials = new MuralMaterials();
proj.Materials.Volunteers = this.GetVolunteerCount(constants, proj);
this.InitializeView();
return View("View", proj);
}
Qu'est-ce que ma syntaxe Html.ActionLink besoin d'être pour que je appeler cela et avoir le point de vue du scrutin ont les mêmes données de modèle (avec les changements calculés)? Alternativement, y a-t-il une autre manière d'accomplir ceci?
J'ai essayé aussi une méthode Ajax.ActionLink mais je suis tombé sur le même problème
Modifier: méthode « Donnez à vos boutons submit un nom, puis inspecter la valeur soumise dans votre méthode de commande » est montré here ce que je cherchais.
cela est déprimant si nous devons faire des choses comme ça, quoi que soit arrivé à l'argument de «séparation des préoccupations»? rhétorique de Microsoft Hoo haa marketing! Je suis déprimé que c'est le meilleur qu'un cadre peut fournir pour un tel scénario commun –
Quelles sont les préoccupations qui, selon vous, ne sont pas clairement séparées? Si les chaînes magiques vous dérangent, il est facile de configurer une classe statique ou un fichier de ressources externe contenant les légendes et les valeurs des boutons, donc vous ne comptez pas sur les comparaisons de chaînes magiques. –
Comment passeriez-vous les données à l'action appropriée? – rsteckly