2009-10-05 65 views
1

我很好奇爲什麼它完全是like thatRedirectToAction和部分視圖

如果我把這種通過AJAX:

public ActionResult Foo(){ 
    return RedirectToAction("SomethingThatReturnsPartialView","Bar"); 
} 

它不會返回我的部分觀點在AJAX回調,但會重定向到URL代表行動。

那麼 - 爲什麼是這樣呢?什麼是可能的解決方法?

回答

2

因爲當瀏覽器從服務器接收到HTTP 30x重定向的回覆時,無論發起請求的方式是同步還是異步,它都會這樣做。

關於可能的解決方法可能類似RenderViewToString,但正如我們所知,MVC缺少此功能。這是每個人都想知道的已知缺失功能。

看在這個討論:Render a view as a string

而且也看這裏,有可能會阻止瀏覽器要與JavaScript重定向的選項:Catching 302 FOUND in JavaScript

+0

類似的東西我的預期。但是 - 第二個問題呢? – 2009-10-05 13:39:23

+0

我已經將視圖渲染爲我的工具欄中的一個字符串。無論如何 - 這有點臭。 :/ – 2009-10-05 13:43:36

+0

查看答案的更新。 – 2009-10-05 13:49:30