2016-02-01 5 views
0

Есть ли способ запустить функцию jquery с контроллера MVC. У меня есть компьютер под управлением Windows 7 Embedded и использует сенсорный экран без клавиатуры. Как часть приложения, мне нужно скопировать файлы с компьютера. В приложении MVC у меня есть представление брандмауэра передачи файлов, которое я хочу использовать для выбора файлов для копирования на USB. У меня есть событие в контроллере, который запускает событие (запускает метод C#), когда USB вставлен или удален. Я хотел бы, чтобы этот метод события включал кнопку в представлении, чтобы пользователь не мог попытаться сохранить файлы (кнопка будет отключена), пока не будет вставлен USB. У меня есть код для обнаружения вставки usb, определить букву диска USB, но я не могу заставить его включить кнопку. Если бы я мог вызвать функцию jquery с контроллера, я думаю, что могу использовать эту функцию для включения кнопки.
Я просмотрел функцию вызова функции JQuery из действия MVC при переполнении стека, но у них есть событие, вызванное формой. У меня есть событие, вызванное контроллером. Есть ли другой/лучший способ включения кнопки (сохранения) в представлении при вставке USB-накопителя?Как вызвать функцию JQuery с контроллера MVC

ответ

0

В вашем контроллере можно создать новый метод ActionResult, который будет отображать частичный вид, содержащий эту кнопку. Поэтому, когда вставлен usb, событие запускается, а в контроллере MVC RedirectToAction вызывает ваш новый метод, который отображает частичный вид с помощью кнопки.

+0

Я сделал частичный вид с кнопкой, которая должна быть включена, когда USB вставлен и отключен, когда он удален. События запускаются в контроллере. Как включить или отключить объект вида с контроллера? – DDR

+0

Вы можете сделать два частичных просмотра, первый, который будет отображаться при вставке usb, и второй, который будет отображаться, whed usb удаляется. Вы можете отобразить частичный вид с контроллера: return PartialView ("view1.cshtml") или PartialView ("view2.cshtml") В режиме просмотра1 вы можете включить кнопку, в view2 вы можете показать отключенную кнопку –

0

Я думаю, что единственный способ добиться этого - повторное вызов действия контроллера через Ajax, чтобы узнать, известно ли, что usb доступен. Используйте setInterval для вызова функции каждые n секунд.

Однако, что происходит, когда они вытаскивают его?

+0

Спасибо за ответ. Я думал о том, чтобы попробовать это, но надеялся на другой, способ, способный достичь этого. Я могу сказать, когда вставлен Usb, и я могу сказать, когда он будет удален. Я просто не могу запустить javascript-код от контроллера, когда это произойдет. – DDR

Смежные вопросы