2015-02-23 58 views
0

我有一個用戶可以下載報告的視圖。在下載報告之前,可以選擇過濾器。當一個人選擇的過濾器,並嘗試下載該報告,如果報告沒有數據,我想操作方法導致像客戶端消息:在操作方法調用後在視圖中顯示消息

「沒有在報告中的數據」現在,什麼我試圖停止方法調用,並調用返回redirectToAction('noDataActionMethod'),這是一個局部視圖。

但除此之外,我不知道該從哪裏出發。理想的情況是能夠在部分視圖加載時調用一些JavaScript,但是做研究表明它不可能?

另外,我不想打開一個全新的觀點。我只想要一個局部視圖,我可以淡入5秒鐘然後淡出。

回答

1

您可以將消息放入ViewBag中,然後在客戶端以這種方式顯示它。你不需要局部視圖,只需檢查服務器端是否包含消息,然後如果是這樣的話,調用JS函數來顯示一個包含消息的div。

answer here可能會有幫助,你只需使用類似

ViewBag.NoDataMessage = "some message"; //in the controller 

然後採取在我鏈接到答案的方法。

東西像viewbag $( '#MessageDiv')ATTR( 「innerHTML的」, '@ ViewBag.NoDataMessage')這個

@if (!string.IsNullOrWhiteSpace(ViewBag.NoDataMessage)) 
{ 
<script type="text/javascript"> 
    $('#MessageDiv').attr("innerHtml",'@ViewBag.NoDataMessage'); 
    //show your div 
    //start timer to hide the div 
</script> 
} 
+1

使用單引號。像這樣,我希望你的問題會得到解決。 – 2015-02-23 17:06:50

+0

@Rughaani,LOL謝謝:) – workabyte 2015-02-23 17:08:14

+0

歡迎。 #workabyte – 2015-02-23 17:12:05

相關問題