Przeczytałem wiele odpowiedzi, które używają wartości wejściowej typu wysyłania, ale moja kolekcja przycisków wejściowych musi mieć ten sam tekst. Inni używają Javascript i staram się tego również unikać.
<input type="submit" value="Press This" name="submitButton" />
Nie działa, ponieważ wszystkie muszą mieć nazwę „Naciśnij to”.
<button type="submit" value="12" name="submitButton">Press This</button>
Nie działa, ponieważ nie podaje wartości.
Czy jest jakiś sposób na zrobienie tego <button>
prześlij wartość lub zmień tekst <input type="submit">
więc wszyscy mówią to samo na stronieróżne wartości? A może nawet ukrycie wartości liczbowej w atrybucie wartości elementu wejściowego, a następnie usunięcie „Naciśnij to” przed użyciem wartości?
Być może za pomocą <input type="image" value="12" />
z obrazem, który mówi „Naciśnij to”?
Edytuj: Próbowałem <input type="image">
i nie działa. Przekaże formularz, ale nie używa atrybutu name, aby przejść do poprawnego działania na kontrolerze.
Edit2: Powinienem też dodać, że liczba przycisków przesyłania jest dynamiczna i dlatego nie mogę podać im wszystkich różnych nazw, a następnie zobaczyć, który parametr w kontrolerze miał przekazaną wartość. Chyba że jest jakiś sposób, aby to zrobić dla nieznanej liczby przycisków ...
Odpowiedzi:
11 dla odpowiedzi nr 1Twoje przyciski powinny wyglądać tak:
<button name="button" value="12">Press This</button>
<button name="button" value="13">Press That</button>
po prostu weź je w akcji
public ActionResult MyAction(string button)
{
if (button == "12"){
//Do this
}
if (button == "13"){
//Do that
}
}