2012-08-09 84 views
1

我有以下代碼爲什麼返回操作不起作用?

public ActionResult Index() 
    { 
     ViewData.Model = new Model(); 
     return Action1(); 
    } 

    public ActionResult Action1() 
    { 
     return View(); 
    } 

當我打電話index動作,它會調用動作1的方法,然後再調用索引操作。任何人都知道爲什麼這樣表現?

我知道我們可以使用RedirectToAction(「Action1」)來解決這個問題,但我只是好奇這種行爲背後的原因。感謝堆。

RWendi

回答

3

它不會再次調用Index行動。因爲您第一次調用的操作是Index,所以方法View()將返回對應於Index的視圖。這就是爲什麼你看到Index的看法。

+0

有意義,但它應該再次調用Action1方法,但它沒有。你知道那是爲什麼嗎? – RWendi 2012-08-09 10:03:02

+0

@RWendi:不,它只返回'Index'操作對應的'view'。如果你說的是真的。然後從一個動作返回一個'View()'將遞歸調用該方法。不是嗎?實際上,當你從一個動作中調用另一個動作時,沒有新的請求。對於發生新請求的'RedirectToAction',情況並非如此。**對於證明,請在兩種情況下檢查瀏覽器中的URL。 – Mohayemin 2012-08-09 13:41:18

相關問題