2012-12-23 30 views

回答

1

有兩種基本的方法來做到這一點:

  • 創建<form>具有action設置爲指向你要撥打的動作的URL。

  • 從客戶

更新

做一個POST Ajax請求重定向,你可以簡單地返回一個RedirectToRouteResult。通常這是使用RedirectToAction overloads available on Controller之一完成的。

更新2

只有當目標行爲是POST(我們假設它被稱爲TargetAction),你可以創建一個新的動作,允許GET和不return TargetAction()

純重定向是不可能的,因爲據我所知重定向意味着:

  • 服務器與資源的新位置一起返回3XX重定向狀態
  • 瀏覽器做一個GET請求發送給位置在上一步中指出。

但是,我建議您重新考慮控制器操作的設計,以儘可能避免這種情況。

+0

我想從行動重定向到另一個職位的行動,而不使用視圖或形式 –

+0

我知道RedirectToAction方法,但我想重定向到httppost行動,並沒有得到行動,當存在獲取和發佈行動在控制器中具有相同的名稱,如何可以指定重定向到發佈操作 –

+0

@MohammadAkbari是的,我不明白真正的問題是什麼。請參閱我的答案更新。 – GolfWolf

0

爲什麼?你不能通過http動詞定義重定向到一個後置動作。

爲什麼不直接調用其他操作方法而不是使用重定向?

+0

我使用一個模塊,希望調用controllel行動 –

+0

我不明白你說什麼?堅持標準的MVC慣例。你試圖完成什麼使你認爲你想重定向到一個post方法?如果你想從一個較低的方法調用重定向比在根控制器也重新考慮該策略,並且只做重定向從您的控制器方法。 –

+0

我使用AcountController模塊,完成身份驗證,在其他控制器的一部分,如果一些條件爲真我註冊一個用戶,併爲其分配用戶和通過,我想這個新的用戶登錄,但通過使用相同的登錄在AccountController,所以我發送用於登錄操作用戶並通過但無法訪問登錄(後)操作 –

相關問題