Я использую ASP.NET MVC 2 с C #. В соответствии с требованиями для приложения, которое я разработал, каждое представление имеет несколько кнопок, которые выполняют одно и то же действие Controller Post. В настоящее время, чтобы узнать, какая кнопка была нажата при публикации действия, я использую скрытое поле в форме, называемое PageAction. Это поле устанавливается со значением при нажатии любой кнопки. Это вызвало изрядное количество проблем в реализации контроллера действия POST для этого представления, потому что я должен сделать оператор case для значения, переданного через PageAction. Это одна из тех вещей, которые, кажется, можно сделать лучше и проще.
Есть ли способ иметь несколько действий для одного представления? Таким образом, каждая кнопка будет отправлять форму своему собственному действию контроллера (однако все они будут соответствовать одному и тому же представлению). Я хотел бы уйти от проверки «волшебной строки» на значение PageAction; однако все эти кнопки являются частью одной HTML-формы, поэтому я не уверен, как это возможно, кроме разделения каждой кнопки на ее собственную форму или динамического изменения каждой кнопки в месте отправки формы. Оба последних варианта кажутся более сложными, чем то, что я уже делаю.
Все предложения / комментарии приветствуются. Спасибо!
РЕДАКТИРОВАТЬ 1
Я просмотрел сообщение в блоге, связанное здесь: http://blog.ashmind.com/2010/03/15/multiple-submit-buttons-with-asp-net-mvc-final-solution/, и повторил функциональность, но мне было интересно ... как это будет работать, если названия кнопок на странице стандартизированы для нескольких разных страниц в приложение? Кажется, что в сообщении блога используются разные имена кнопок, совпадающие с именем действия в контроллере, но в моем случае это не будет достаточно уникальным.