Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
U11
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 2
1

Как отследить, какая кнопка была нажата

18.04.2012, 09:23. Просмотров 3917. Ответов 3
Метки нет (Все метки)

Есть представление, в котором есть несколько кнопок
Есть контроллер, в котором эти кнопки вызывают метод HttpPost, как определить какую кнопку нажали?

Добавлено через 11 часов 9 минут
Может можно получить id кнопки, которую нажали?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 09:23
Ответы с готовыми решениями:

Как узнать какая кнопка была нажата?
такой код: HMTL <form action='myasp.asp' method=post name='form1'> <input...

Как определить, в какой именно форме была нажата кнопка?
есть такой код: <% set cn = Server.CreateObject('ADODB.Connection') ...

Как отловить, какая из кнопок была нажата, и какую функцию запустить в гриде?
В гриде есть несколько кнопок (в Templete columns). скажем btnDeleteAll,...

Отследить, какая кнопка была нажата
НА форме есть 3 кнопки Button1..2..3 и таймер Timer1 нужно что бы таймер...

Как отследить, какая клавиша была нажата?
собственно сабж. нужно проверить какая клавиша была нажата и принять решение,...

3
Grey_1
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
18.04.2012, 09:31 2
Контролер
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public class HomeController : Controller
    {
        //
        // GET: /Home/
 
        public ActionResult Index()
        {
            return View();
        }
 
        [HttpPost]
        public ActionResult Index(FormCollection form)
        {
            return View();
        }
 
    }
View

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@{
    ViewBag.Title = "Index";
}
 
 <html>
    <head>
      <title>My Facebook Login Page</title>
    </head>
    <body>
 
    @using (Html.BeginForm("Index", "Home", FormMethod.Post)) 
    { 
        @Html.TextBox("text")
        <input type="submit" name="sub1" value="Отправить" />
        <input type="submit" name="sub2" value="Отправить" />
    }
     
    </body>
 </html>
Идея такая... у input типа submit обязательно должен быть атрибут name. В этом случае на контролере вы имеете его ключ в FormCollection. Проверяете на наличие нужных ключей в коллекции
Вуаля
0
U11
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 2
18.04.2012, 15:49 3
Да, если в контроллере обратится form.GetKey(1), то получим наименование нажатой кнопки

C#
1
2
3
4
5
6
        [HttpPost]
        public ActionResult Index(FormCollection form)
        {
          ViewBag.Key = form.GetKey(1);
          return View();
        }
но если во View TextBox поставить между двумя кнопками, то при нажатии на первую кнопку будет возвращать name TextBox'а, а при нажатии на последнюю name кнопки

form.GetKey(int index), просит индекс, по которому возвращает имя, можно узнать индекс, на какой кнопке произошло событие?
0
DroidAn
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
20.04.2012, 14:09 4
U11, можно через jquery.

HTML5
1
2
<input type="button" text="btn1" id="1"></input>
<input type="button" text="btn2" id="2"></input>
Javascript
1
2
3
4
5
6
7
8
<script type="text/javascript">
$('#btn1').live('click', function(){
 $.post('АдресДействия', { id })
});
$('#btn2').live('click', function(){
 $.post('АдресДействия', { id })
});
</script>
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 14:09

Как узнать, какая кнопка в шаблоне листбокса была нажата?
Здравствуйте. Есть шаблон в листбоксе для отображения нескольких полей...

Как в обработчик передать информацию, какая была нажата кнопка?
Хотел разобрать задачу Задача: На рабочем листе или форме программно...

Уведомление WM_SYSKEYDOWN: как узнать, какая системная кнопка была нажата?
Всем привет, есть вопрос по WM_SYSKEYDOWN а именно: что значит параметр lParam...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru