2009-03-27 5 views
1

J'ai un modèle PurchaseOrder:Comment ajouter et supprimer dynamiquement des éléments de campagne d'une vue ASP.NET MVC?

public class PurchaseOrder 
{ 
    public string OrderNumber { get; set; } 
    public string Customer { get; set; } 
    public IList<LineItem> Lines { get; set; } 
} 

et une classe LineItem:

public class LineItem 
{ 
    public string PartNumber { get; set; } 
    public int Quantity { get; set; } 
} 

Ce que je veux faire est de mon avis pour la PurhcaseOrder Créer une action, je besoin d'une section pour les articles en ligne. L'utilisateur devrait être en mesure d'ajouter une nouvelle ligne, supprimer une ligne, puis soumettre. Une mise en garde est le PartNumber doit être une liste déroulante des parties valides. Que puis-je faire pour accomplir ce que je recherche?

Répondre

-1

Je créerais cette fonctionnalité avec jQuery (sur un côté client)


Référence 1345 - 124 articles [Supprimer]
Référence 1489 - 101 articles [Supprimer]

[Sélectionner partie namber /] [_ _ Quantité] [Ajouter]


plus vous pouvez dupliquer cette fonctionnalité (exactement la même interface utilisateur) avec la morue côté serveur e pour les clients qui ont désactivé JS. Pour ce faire, vous pouvez stocker des éléments de ligne temporaires dans TempData (à chaque publication, lorsque l'utilisateur clique sur Ajouter un élément de campagne).

+0

Qu'est-ce qui se passe si Javascript est désactivé? – Kieron

+0

@Kieron: Vous le construisez de manière à ce qu'il effectue une véritable publication pour les suppressions au lieu d'une publication AJAX, par exemple, en utilisant Ajax.ActionLink ou une jquery similaire à celle-ci. L'ajout devrait poster des données pour indiquer qu'une nouvelle ligne devrait être ajoutée. – tvanfosson

+0

Cela arrive rarement, mais vous pouvez dupliquer cette fonctionnalité avec du code côté serveur pour ces clients. –

0

Si vous voulez tout faire sans js, créez une nouvelle action/vue pour ajouter et modifier un élément de campagne. Pour la suppression, il est mauvais d'avoir un lien d'action qui supprime l'élément, un GET ne doit jamais modifier les données. Donc, un bon schéma est d'avoir le lien de suppression aller à une page de confirmation. Et à partir de cette page vous POST à ​​l'action de suppression (ou annuler et revenir en arrière)

Questions connexes