2016-02-01 62 views
0

是否有方法從MVC控制器運行jquery函數。我有一臺運行Windows 7 Embedded的電腦,並使用沒有鍵盤的觸摸屏。作爲應用程序的一部分,我需要將文件從電腦上覆制下來。在MVC應用程序中,我有一個文件傳輸剃鬚刀視圖,我想用它來選擇要複製到USB的文件。我在控制器中有一個事件,當插入或移除USB時觸發事件(運行C#方法)。我希望這種事件方法啓用視圖上的按鈕,以便用戶不能嘗試保存文件(該按鈕將被禁用),直到插入一個USB。我有代碼來檢測USB插入,確定USB驅動器號,但我不能讓它啓用按鈕。如果我可以從控制器調用jquery函數,我想我可以使用該函數來啓用按鈕。
我看過「從MVC操作調用Jquery函數」在堆棧溢出,但他們有從窗體觸發的事件。我有一個由控制器觸發的事件。 當插入USB驅動器時,是否有不同/更好的方法來啓用視圖上的(保存)按鈕?如何從MVC控制器調用JQuery函數

回答

0

您可以在控制器中創建新的ActionResult方法,該方法將渲染包含該按鈕的部分視圖。所以當插入usb時,會觸發事件,並且在MVC控制器中,RedirectToAction會調用您的新方法,該方法使用按鈕呈現局部視圖。

+0

我用usb插入時應該啓用的按鈕和刪除時禁用的按鈕做了部分視圖。事件在控制器中發射。如何從控制器啓用或禁用視圖對象? – DDR

+0

您可以製作兩個部分視圖,第一個插入usb時將被渲染,第二個將在usb被移除時渲染。您可以渲染控制器的部分視圖: 返回PartialView(「view1.cshtml」)或PartialView(「view2.cshtml」) 在視圖1中,您可以啓用按鈕,在視圖2中您可以顯示禁用按鈕 –

0

我認爲唯一可以實現這個目標的方法是通過Ajax反覆調用一個控制器動作來了解usb是否已知可用。使用setInterval每n秒調用一次函數。

但是,當它們拔出時會發生什麼?

+0

感謝您的回答。我想過嘗試這個,但希望有一種不同的,事件驅動的方式來實現這一點。我可以知道什麼時候插入了Usb,我可以告訴它什麼時候被刪除。發生這種情況時,我似乎無法從控制器運行JavaScript代碼。 – DDR

相關問題