asp.net mvc - Wie finde ich genau, auf welche Schaltfläche geklickt wurde, wenn alle Schaltflächennamen identisch sind?

Ich habe den folgenden Code in meiner ASPX-Datei:

   <% using (Html.BeginForm())
       {

           int i = 0; 
    %>

    <% foreach (var item in Model.Educations)
       { %>
    <fieldset>
        <input type="hidden" name="educations.Index" value="" />
        <p>
            <label for="PID">
                PID:</label>
            <%= Html.TextBox("educations["+i+"].PID", item.PID)%>
            <%= Html.ValidationMessage("PID", "*")%>
        </p>
        <p>
            <label for="EducationType">
                EducationType:</label>
            <%= Html.TextBox("educations["+i+"].EducationType", item.EducationType)%>
            <%= Html.ValidationMessage("EducationType", "*")%>
        </p>
        <p>
            <label for="SchoolName">
                SchoolName:</label>
            <%= Html.TextBox("educations["+i+"].SchoolName", item.SchoolName)%>
            <%= Html.ValidationMessage("SchoolName", "*")%>
        </p>
        <p>
            <label for="UniversityId">
                UniversityId:</label>
            <%= Html.TextBox("educations["+i+"].UniversityId", item.UniversityId)%>
            <%= Html.ValidationMessage("UniversityId", "*")%>
        </p>
        <p>
            <label for="Department">
                Department:</label>
            <%= Html.TextBox("educations["+i+"].Department", item.Department)%>
            <%= Html.ValidationMessage("Department", "*")%>
        </p>
        <p>
            <label for="Degree">
                Degree:</label>
            <%= Html.TextBox("educations["+i+"].Degree", String.Format("{0:F}", item.Degree))%>
            <%= Html.ValidationMessage("Degree", "*")%>
        </p>
        <p>
            <label for="YearOfGraduation">
                YearOfGraduation:</label>
            <%= Html.TextBox("educations[" + i + "].YearOfGraduation", String.Format("{0:F}", item.YearOfGraduation))%>
            <%= Html.ValidationMessage("YearOfGraduation", "*")%>
        </p>
        <p>
            <label for="ID">
                ID:</label>
            <%= Html.TextBox("educations[" + i + "].ID", item.ID)%>
            <%= Html.ValidationMessage("ID", "*")%>
        </p>
        <input type="submit" name="silButton" value="Sil"/>
    </fieldset>
    <% 
        i++;
       } %>
     <p>
        <input type="submit" name="ekleButton" value="Ekle" />
     </p>
    <% } %>
    <div>
        <%=Html.ActionLink("Back to List", "Index") %>
    </div>

Auf diese Weise kann ich dynamisch weitere Felder hinzufügen ("Ekle"), wenn der Benutzer zusätzliche Bildungsinformationen eingeben möchte (höchstwahrscheinlich von einer anderen Universität oder einem anderen Abschluss).

Dieser Code gibt auch die Schaltfläche "Sil" (was Löschen bedeutet), und ich möchte in der Lage sein, genau zu erkennen, welche Schaltfläche "Sil" gedrückt wurde, und diesen Bildungseintrag aus meinem "Objekt" in der Sitzung zu löschen.

Meine Aktionsmethode sieht folgendermaßen aus:

public ActionResult Step3(string ekleButton, IList<Education> educations, IList<string> silButton)
        {
            if (educations != null)
            {
                _person.Educations.Clear();
                _person.Educations.AddRange(educations);
            }

            if (ekleButton != null)
            {
                _person.Educations.Add(new Education());
            }

             if (silButton!=null){
              //find index and delete it from _person.Edications

           }
            return View(_person);
        }

Auf diese WeisesilButton != null Wenn eine der "silButton" -Tasten gedrückt wurde und ich nicht erkennen kann, welche Taste gedrückt wurde. Gibt es eine Möglichkeit, dies herauszufinden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage