MVC 4 button onClick, ruft razor-Funktion

Habe ich MVC 4-Anwendung. Hier ist der Fall:

1. Modell HashKey - mit 1 string key

2. Modell ModelObjectA - mein Objekt zu transportieren.

3. Klasse A - generate unique-key auf Anfrage und setzen es in TempData zusammen mit der gegebenen ModelObjectA und gibt dieses einzigartige Taste.

4. Controller ControllerModelObjectA - dienen als Reine controller.

5. Ansicht ShowAllModelObjectA - anzeigen Seite für die Anzeige der Sammlung von controller.

Wie das funktioniert. Ich habe die Anfrage zu navigieren, ShowAllModelObjectA. Der controller rufen Sie die Klasse Ein, mit dem Objekt zu übertragen und sendet den eindeutigen Schlüssel der ShowAllModelObjectA. Die Ansicht ruft die Methode zu bekommen (nicht HttpGET) das Objekt zugehoerigen dem empfangenen Schlüssel von der Steuerung. Diese Sammlung von Objekt empfangen wird und im @foreach-Schleife zerlegt die Objekte und setzen Sie Sie in eine Tabelle. Zusammen mit dem Objekt in der Tabelle ist geputtet auch 3 Tasten, stellt verschiedene Funktionen (details Anzeigen, löschen, Bearbeiten), um entsprechende Objekt.

Das problem:
Auf jedes Objekt der Taste, die ich habe zu verwenden von @ - Funktionen aufrufen, ClassA und senden das Objekt selbst, sondern NUR auf klicken Sie nicht auf die for-Schleife.

Hier ist ein code (ich habe die Namen ändern 🙂 )

@functions{
    public string ButtonClicked(ModelObjectA object)
    {
        System.Diagnostics.Debug.WriteLine("in");//to check when the method is called
        return "dae";
    }
}

The foreach loop:

 <table>
            @foreach (ModelObjectA  Object in ModelObjectACollection)
            {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => Object.Name)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => Object.Email)
                </td>
                <td>
                    <button type="button" id="details" value="@Object" onclick="hello(value);">Details</button>
                    <button type="button" value="@Object">Edit</button>
                    <button type="button" value="@Object">Delete</button>
                </td>
            </tr>
            }
    </table>

<script type="text/javascript">
    function hello(Value) {
      alert("Clicked");
    }
 </script>

Seit heute habe ich Zugang zu den @ModelObjectA, aber ich kann nicht senden Sie es an das razor-Funktion, denn java auf der client-Seite und razor auf dem server.

Gibt es eine andere Möglichkeit, um dieses?

BEARBEITEN:
Hier ist die rentered Tasten:

 <td>

                    <button type="button" id="details" value="(Project path).ModelObjectA" onclick="hello(value);">Details</button>
                    <button type="button" value="(Project path).ModelObjectA">Edit</button>
                    <button type="button" value="(Project path).ModelObjectA">Delete</button>
                </td>

EDIT 2: ich bin mir nicht sicher, was ich brauche, zu verwenden, die diese Anforderung erfüllen. Ich bin offen für Vorschläge.

Aber Ihr Blick bekommt vorbereiten auf server-Seite und Sie können javascpit in Ihrem Blick. Was Wert ist überholt, um Ihr Hallo () - Funktion?
<button type="button" id="details" value="@ModelObjectA" onclick="Hallo(Wert);"> - so ist es @ModelObjectA
Könnten Sie erwägen, einen anderen Titel für Ihre Frage, bitte? "MVC 4 Fragen" ist zu ungenau und hilft nicht, anderen ist, wer kann profitieren von den Antworten.
Ich musste es ändern, ist es jetzt besser ?

InformationsquelleAutor Daniel Donev | 2013-08-23

Schreibe einen Kommentar