2010-12-15 28 views
2

Je viens d'un simple tableau ASP vu ici:lignes de comptage en C# après dynamiquement les ajouter avec jQuery

<asp:Table ID="tblCategories" runat="server" CssClass="oneColTable padded-table dataTable"> 
    <asp:TableHeaderRow CssClass="tableHeader"> 
     <asp:TableHeaderCell>Category Name</asp:TableHeaderCell> 
     <asp:TableHeaderCell Width="50">Delete</asp:TableHeaderCell> 
    </asp:TableHeaderRow> 
</asp:Table> 

Et si l'utilisateur veut ajouter une ligne supplémentaire que j'utilise la méthode Clone jQuery pour copier et ajouter une nouvelle rangée.

Mon problème vient quand je veux compter les lignes présentes sur le côté C# il énumère toujours 1 ligne. La ligne pour l'entrée d'en-tête.

Comment puis-je saisir correctement le nombre de lignes exact du côté C# (Codebehind)?

Merci,

-Seth

+0

Vous avez besoin d'un mécanisme pour afficher les lignes que vous avez créées avec jquery ... –

+0

Ouais je pensais que ce serait la voie à suivre avec un Hiddenfield, j'espérais juste quelque chose de plus élégant du côté C#. Merci. –

Répondre

1

Je ne suis pas sûr de savoir comment faire en C#, mais vous pouvez créer un champ caché qui stocke le nombre de lignes et d'utiliser quelque chose comme $('#hiddenField').val($('#tblCategories > tbody > tr').length). Et puis obtenez la valeur de ce champ caché dans le code C#

+0

Ouais je pensais que le champ Caché fonctionnerait. –

2

Lorsque votre formulaire soumet, vous devez être en mesure d'afficher certaines valeurs dans les champs soumis pour indiquer le nombre de lignes. Un formulaire html ne renvoie pas seulement tout le code HTML du client au serveur. La façon la plus simple de le faire serait d'ajouter un champ de saisie caché dans une cellule et dans la publication, vous pourrez voir ces valeurs et les compter. Donc, vous finirez par cloner ce champ de formulaire caché lorsque vous clonez les lignes sur le client, et cela vous donnera une valeur dans Request ["HiddenField"] par exemple.

2

oui utilisez le contrôle caché pour recompter le nombre de lignes de la table.