Créer des boutons Supprimer / Modifier pour plusieurs enregistrements de LINQ en utilisant la valeur cachée?

StackOverflow https://stackoverflow.com/questions/1300668

  •  18-09-2019
  •  | 
  •  

Question

Aspx forme:

<asp:Table ID="viewV" runat="server">
  <asp:TableRow>
    <asp:TableHeaderCell>Name</asp:TableHeaderCell>
    <asp:TableHeaderCell>Type</asp:TableHeaderCell>
  </asp:TableRow>       
</asp:Table>

code ci-dessous:

vRepository getV = new vRepository();

var viewAllV = getV.GetV();

foreach (tblV singleV in viewAllV)
{
    TableRow tr = new TableRow();

    // Create four new cells for each row within the database

    TableCell vName = new TableCell();
    TableCell vType = new TableCell();

    // Attached values to each of these cells

    vName.Text = singleV.vName;
    vType.Text = singleV.tblVType.vName;

    // Add the cells to the table

    tr.Cells.Add(vName);
    tr.Cells.Add(vType);

    // Add the row to the table

    viewV.Rows.Add(tr);
}

Je peuplant actuellement asp:. Table en utilisant LINQ, ce qui fonctionne bien

public IQueryable<tblV> GetV()
{
    return (from getAllV in dc.tblV
            where getAllV.deleted != 1
            orderby getAllV.vName
            select getAllV).DefaultIfEmpty();
}

J'ai essayé le GridView / ListView / DetailsView mais ne peut pas sembler accéder au GetV, je ne peux accéder à la table réelle.

Je veux ajouter un modifier / supprimer le bouton à la fin de chaque ligne, de sorte que l'utilisateur peut sélectionner la ligne qu'ils souhaitent modifier / supprimer.

Une fois que l'utilisateur a sélectionné soit le bouton modifier / supprimer, cela devrait alors accéder à un point de vue différent (un pour modifier, pour un add - dans le même fichier ASPX).

Par exemple:

Name    Type

Example 1   Type 1  Edit Button Delete Button

Example 2   Type 1  Edit Button Delete Button

Je veux être en mesure de sélectionner le bouton Edit pour « Exemple 1 ». Cela devrait alors:

  1. Aller à la « vue modifier »,
  2. Auto remplir les deux champs de texte avec les informations correctes,
  3. ligne de mise à jour (dans les bases de données) avec de nouvelles informations en utilisant ID unique (PK).

Comment je produis modifier suis venu plusieurs / supprimer des boutons qui détiennent en quelque sorte l'ID unique pour cette ligne?

Je pensais que ce serait quelque chose comme ceci:

TableCell vEdit = new TableCell();
vEdit.Button = singleV.vID;
tr.Cells.Add(vEdit);
Était-ce utile?

La solution

Si vous voulez vraiment « coder en dur », l'utiliser ASP.NET MVC. Dans le cas contraire, vous devriez vraiment utiliser une sorte de contrôle lié aux données.

Cela dit, si vous insistez sur cette approche, vous pouvez probablement faire quelque chose comme ceci:

Button editButton = new Button();
editButton.Text = "Edit";
editButton.CommandArgument = singleV.vID.ToString();
editButton.CommandName = "Edit";
editButton.OnCommand += new CommandEventHandler(EditButton_Command);

TableCell vEdit = new TableCell();
vEdit.Controls.Add(editButton);

tr.Cells.Add(vEdit);

Ensuite, à partir de gestionnaire CommandEventArgs vous pouvez récupérer l'argument et changer votre point de vue en conséquence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top