Событие нажатия кнопки MVC3 - PullRequest
       9

Событие нажатия кнопки MVC3

8 голосов
/ 25 августа 2011

У меня должно быть 3 кнопки в моем представлении (Добавить, Сохранить, Отмена).Если я нажму эти кнопки, они должны нажать соответствующие методы в контроллере.Как мне достичь события нажатия кнопки в MVC3?Кто-нибудь может дать мне пример?Предложите мне, если есть лучший способ.

Ответы [ 3 ]

9 голосов
/ 25 августа 2011

В MVC 3 нет события нажатия кнопки на стороне сервера, вам нужно будет определить, какая кнопка была нажата, основываясь на значениях формы, которые вы отправили обратно.Загляните в этот блог для получения дополнительной информации -

http://weblogs.asp.net/dfindley/archive/2009/05/31/asp-net-mvc-multiple-buttons-in-the-same-form.aspx

7 голосов
/ 25 августа 2011

Я действительно новичок в ASP.NET MVC, но способ, который я решил, заключался в том, что у меня было несколько кнопок в форме, и я дал каждой из них класс, а затем указал параметры данных для них, в этомНапример, у меня есть два свойства из некоторого элемента Val1 и Val2 для первой кнопки и два для второй - Val1 и Val3:

<input type="button" value="Button 1" class='button1' data-val1="@item.Val1" data-val2="@item.Val2"/>

<input type="button" value="Button 2" class='button2' data-val1="@item.Val1" data-val2="@item.Val3"/>

, а затем я использовал jquery для обработки событий нажатия и указал, какиеДействие для вызова:

<script type="text/javascript">
  $(function () {
     $('.button1').click(function () {
        var Val1 = $(this).data('val1');
        var Val2 = $(this).data('val2');
        $.ajax({
           type: "POST",
           data: "val1=" + Val1 + "&val2=" + Val2,
           url: '@Url.Action("MyAction", "MyController")',
           dataTyp: "html",
           success: function (result) {
              // whatever I did here on success
           }
        });
     });
  });

// rinse and repeat for the other button, changing the parameters and the action called.
</script>

Это, кажется, работает очень хорошо для моих нужд.

1 голос
/ 04 сентября 2014

Приведенное ниже событие нажатия кнопки попадает в соответствующий метод actionResult в контроллере

      <input type="button" name="button" id="btnadd" value="Add" onclick="location.href='@Url.Action("ActionResultName", "ControllerName")'" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...