2016-11-28 2 views
-1

Ich habe eine Frage. Ich mache eine Tabelle, aber ich brauche eine Seite hinzufügen, wo der Benutzer ein Textfeld ausfüllen kann, (oder etwas anderes) Dann drücken Sie Hinzufügen. In diesem Fall muss die Tabelle mit den vom Benutzer hinzugefügten Informationen aktualisiert werden.C# Tabelle neue Zeilen mit Textfeld hinzufügen

Könnte mir jemand helfen? Weil ich nicht weiß, wie ich anfangen soll.

Der Code aus der Tabelle Seite:

@model IEnumerable<DNDB.Models.Domeinnaam> 

@Styles.Render("~/Content/StyleSheet.css") 
@{ 
ViewBag.Title = "Index"; 
} 
<h2>Domeinnaam Overzicht</h2> 

@Html.ActionLink("add", "CreateDomeinnaam.cshtml") 


<table id="tabledomeinnamen"> 
<tr> 
    <th>  
     @Html.DisplayNameFor(model => model.IsActief) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.Naam) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.TLD) 
    </th> 
    <th>  
     @Html.DisplayNameFor(model => model.DatumRegistratie) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.Omschrijving) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.DatumOpzeg) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.EigenaarID) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.Opmerking) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.BeheerAccountID) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.KlantID) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.RegistrarID) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.BetaaldVan) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.BetaaldTot) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.AfspraakPrijs) 
    </th> 
    <th></th> 
</tr> 

@foreach (var item in Model) { 
<tr> 
    <td> 
     @Html.DisplayFor(modelItem => item.IsActief) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Naam) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.TLD) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.DatumRegistratie) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Omschrijving) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.DatumOpzeg) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.EigenaarID) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Opmerking) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.BeheerAccountID) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.KlantID) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.RegistrarID) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.BetaaldVan) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.BetaaldTot) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.AfspraakPrijs) 
    </td> 
    <td> 
     @Html.ActionLink("Edit", "Edit", new { id=item.ID }) 
     @Html.ActionLink("Details", "Details", new { id=item.ID }) 
     @Html.ActionLink("Delete", "Delete", new { id=item.ID }) 
    </td> 
</tr> 
} 

</table> 
+0

Möchten Sie neue Zeilen hinzufügen? Oder möchten Sie nur bestehende Zeilen bearbeiten, wenn Sie auf den entsprechenden Link Bearbeiten klicken? – Zeeshan

+0

@Zeschan Ich möchte den Benutzer zu der Tabelle hinzufügen lassen. Sie müssen auf "Erstellen" klicken und dann Textfelder (oder etwas anderes) ausfüllen und auf Hinzufügen drücken. So wird die Information zur Tabelle hinzugefügt. – mrminer

+0

Lassen Sie mich eine jsfiddle Demo für Sie erstellen. – Zeeshan

Antwort

1

Der Code aus der Tabelle Seite:

@Html.ActionLink("add", "CreateDomainName", "Domain") //Second parameter is the action name, Third parameter is the controller name. If your 'list'(table) page action and 'add' action are in the same controller then this field is optional. 

CreateDomainName Aktion in Ihrem Controller.

Um die Ansicht der CreateDomainName Aktion zu generieren, klicken Sie mit der rechten Maustaste auf Aktion und klicken Sie auf 'Ansicht hinzufügen'.

Ansicht der CreateDomainName-Aktion.

@using(Html.BeginForm()) 
{ 
    <!-- Your html code --> 
    <input type="submit">Add</input> 
} 
+0

Hey, Danke für diese Antwort. Ich bin neu in der Programmierung. der zweite Teil, den Sie haben // Ihren Code zu speichern. Was meinst du damit?Und meine zweite Frage ist, dass Sie in der Ansicht CreateDomeinName hinzufügen Was sollte da sein? Könntest du ein Beispiel geben? – mrminer

+0

1. Die Aktion HttpPost wird ausgelöst, wenn Sie das Formular absenden. Sie können die übermittelten Daten aus dem Parameter 'model' abrufen. – MarkiE

+0

1. Die HttpPost-Aktion wird ausgelöst, wenn Sie das Formular absenden. Sie können die übermittelten Daten aus dem Parameter 'model' abrufen. In der nächsten Zeile überprüfe ich, ob das Modell gültig ist oder nicht. Wenn es gültig ist, können Sie es in Ihrer Datenbank speichern oder Sie können etwas mit den übermittelten Daten tun. 2. Sie können die Ansicht 'CreateDomainName' automatisch generieren, indem Sie auf die Option 'Ansicht hinzufügen' klicken. (Rechtsklick auf CreateDomainName Aktionsname, dann 'Ansicht hinzufügen'). – MarkiE

0

Sie diese Aufgabe auf zwei Arten durchführen kann:

  1. Ajax
  2. von Formular-Server Einreichung und die Seite aktualisieren

Hier ist, wie Sie es über Ajax tun können .

  1. oben oder unten von Tabelle mit den erforderlichen Feldern
  2. Auf der Form Ereignisprozess Formular mit den erforderlichen Zellen über Ajax
  3. In Erfolg Rückruf append tr Tabelle einreichen In Form.

    $(document).ready(function() { $("#newForm").submit(function(){ //TODO: Perform ajax call to add reccord in database // Append row to table return false; });

Hier ist ein Code Demo Sie es mit Ajax zu tun folgen kann. Add new row to table on form submit

+0

Das liegt über meinen Grenzen, ich bin neu im Programmieren. Habe nie mit Ajax gearbeitet ... – mrminer

Verwandte Themen