我堅持以下情形:調用javascript函數返回任何類型的結果在控制器動作
在我看來有一個項目列表。根據項目所代表的內容,單擊某個項目將帶您到相應的視圖並顯示這些結果。現在在視圖中顯示結果不是問題;這工作正常。但是,某些項目應顯示在彈出窗口中,而不是視圖中。我將部分視圖與bPopup和ShowListDialog(data)這樣的javascript函數一起使用來顯示對話框並綁定數據。如何在操作中返回任何需要的結果(我懷疑JavaScriptResult)時調用javascript函數。
我認爲我的行爲應該像此刻是:
公衆的ActionResult的ResponseItem(INT參考) { ResponseBase的響應= repository.RetrieveResponse(參考);
if (response.ShouldShowInView)
{
return View(response.RedirectUrl, response.Data);
}
else
{
return JavaScript("ShowListDialog(" + response.Data.JsonString + ");");
}
}
我一直在尋找回報的例子JavaScript的結果,我甚至不能得到那個工作。如果我這樣說:
return JavaScript(「alert('Hello');」);
然後在IE中詢問我是否想打開javascript文件;在Chrome和Firefox中它只顯示alert('Hello');在頁面上。
預先感謝幫助:) d
你想要生成一些JavaScript並執行它嗎?您可以簡單地生成一個HTML頁面,其中包含一個標籤,並將腳本放入其中。 – 2011-04-28 10:03:02
不,我想調用一個名爲ShowListDialog的現有javascript函數,它將在當前頁面頂部顯示一個彈出對話框(如果點擊的列表項產生需要在彈出窗口中顯示的響應類型)。顯示視圖相關的項目是沒有問題的。 – Dieter 2011-04-28 10:11:15
我明白了,我的意思是你可以生成一個html響應,包括一個腳本標記,把你的腳本ShowListDialog(...)放在裏面。然後腳本將被調用。 – 2011-04-28 10:40:08