Dieser Beitrag wird Coppermill nicht beantworten, da er vor langer Zeit beantwortet wurde. Mein Beitrag ist hilfreich für diejenigen, die nach einer solchen Lösung suchen. Zunächst muss ich sagen, dass "WDuffys Lösung völlig korrekt ist" und gut funktioniert, aber meine Lösung (nicht meine) wird in anderen Elementen verwendet und macht die Präsentationsschicht unabhängiger vom Controller (da Ihr Controller davon abhängt "Wert", der zum Anzeigen der Beschriftung der Schaltfläche verwendet wird. Diese Funktion ist für andere Sprachen wichtig.).
Hier ist meine Lösung, gib ihnen verschiedene Namen:
<input type="submit" name="buttonSave" value="Save"/>
<input type="submit" name="buttonProcess" value="Process"/>
<input type="submit" name="buttonCancel" value="Cancel"/>
Und Sie müssen die Namen der Schaltflächen als Argumente in der folgenden Aktion angeben:
public ActionResult Register(string buttonSave, string buttonProcess, string buttonCancel)
{
if (buttonSave!= null)
{
//save is pressed
}
if (buttonProcess!= null)
{
//Process is pressed
}
if (buttonCancel!= null)
{
//Cancel is pressed
}
}
Wenn der Benutzer die Seite mit einer der Schaltflächen sendet, hat nur eines der Argumente einen Wert. Ich denke, das wird für andere hilfreich sein.
Aktualisieren
Diese Antwort ist ziemlich alt und ich überdenke meine Meinung tatsächlich. Vielleicht ist die obige Lösung gut für Situationen, in denen Parameter an die Eigenschaften des Modells übergeben werden. Machen Sie sich keine Sorgen und finden Sie die beste Lösung für Ihr Projekt.
<input name="submit" type="submit" id="submit" value="Save" onclick="saveMethod" />
?