Je suis un débutant dans l'application ASP.NET MVC. Ce que j'essaye de faire est de créer un formulaire avec des entrées que l'utilisateur remplira, et une fois que l'utilisateur cliquera sur le bouton de publication, je veux que le formulaire soit affiché avec l'information remplie et prête pour l'impression. La façon dont je le fais est en ce moment comme suit:ASP.NET MVC Form post
// the controller that returns the initial form using ReportCreate.aspx which creates a Html form
public ActionResult ReportCreate()
{
return View(viewData);
}
// my post action which gets the information for the submitted form
// and use the ReportPost.aspx to view a similar page as ReportCreate.aspx but with all the Html.TexBox inputs replaced with their values obtained from the submitted form
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ReportCreate(FormCollection form)
{
ReportFormData formData = new ReportFormData();
formData.Date = form["date"];
formData.Company = form["company"];
formData.SiteNameA = form["siteNameA"];
formData.SiteNameB = form["siteNameB"];
formData.FreqBand = form["freqBand"];
formData.FileNumber = form["fileNumber"];
formData.ResponseDate = form["responseDate"];
formData.SiteAddressA = form["siteAddressA"];
formData.SiteAddressB = form["siteAddressB"];
this.TempData.Add("viewData", viewData);
return View("ReportPost", formData);
}
Ce que je n'aime pas de cette façon, est que je dois ASPX pages (ReportCreate.aspx & ReportPost.aspx) que je dois Restez similaire et modifiez-les tous les deux si j'ai besoin de modifier le look du formulaire. Je pense qu'il devrait y avoir une façon plus professionnelle de gérer ce problème commun. J'ai essayé de le rechercher en ligne, mais je n'ai rien pu obtenir. S'il vous plaît, faites-moi savoir. Merci beaucoup d'avance.
+1 pour suggérer l'utilisation d'un modèle de vue. –
merci, je ne vois pas comment les entrées de mon formulaire se lieront aux variables d'instance dans mon objet ReportFormData. Ai-je besoin de faire quelque chose de spécial, ou cela arrivera automatiquement? Je l'ai essayé et ça ne semble pas fonctionner. –
Assurez-vous que l'attribut name est correctement défini sur tous les éléments d'entrée. liera "Microsoft" à la propriété de la société sur votre instance formdata. – Henrik