2011-02-08 35 views
2

私はasp.net mvcに関するいくつかの質問をしたいと思います。 通常のaspx Webフォームからasp.net mvc controllerアクションをどのように呼び出すのですか? 私たちのプロジェクトは、Visual Studio 2008 C#.netでasp.net mvcフレームワークに使用されています。 たとえば、私は通常のaspx Webフォームでこのように使用したいと思います。通常のaspx Webフォームからasp.net mvcコントローラを呼び出しますか?

public ActionResult callMvc() 
{ 
    return RedirectToAction("Display","TempController"); 
} 

MVCプロジェクトでこのように使用するべきではないことは知っていますが、場合によっては必要です。

よろしく

あなただけの問題であなたのコントローラにルーティングされる右のURLでのResponse.Redirectを使用することができますインディ

答えて

4

、私はあなたのケースで推測、それは次のようになります。

Response.Redirect("/Temp/Display"); 
+0

おかげで私のfri、私はそのアクションを呼び出す前に、このような "http:// localhost:50834/Normal/WebForm.aspx" それは通常のaspxのWebフォームで、そして、私はactioあなたのようにn。 「リソースが見つかりません」というエラーが表示されます.urlは次のようになります 「http:// localhost:50834/Normal/Temp/Display」 実際には、このコントローラのURLは「http:// localhost:50834/Temp /ディスプレイ " どうすれば解決できますか? について Indi – Indi

+0

@Indi:try Response.Redirect( "../ Temp/Display"); – fretje

1

URLを解決するためにUrlヘルパーを使用することをお勧めします。ルートが変更された場合は、コードをリファクタリングする必要はありません。このメソッドを使用します。

Response.Redirect(Url.Action("Display", "Temp")); 

私はこれまでこの文脈でそれを使用したことはありませんが、期待通りに動作するはずです。

0

次のコードを使用:

Response.Redirect("~/Home/Index");

WebフォームでController/action

+0

答えを広げることができますか? – Max

0

CSファイル(System.Web.UI.Pageから派生クラス)を使用します。あなたの答えのための

this.Response.RedirectToRoute(new { controller="ControllerToRedirectTo", action="ActionToRedirectTo", id=5, SomeOtherActionParameter="Parameter value" }); 
関連する問題