2011-02-08 46 views
2

我想提出一些關於asp.net mvc的問題。 如何從普通的aspx網頁表單調用asp.net mvc控制器動作? 我們的項目是使用asp.net mvc框架與visual studio 2008 C#.net。 例如,我想在普通的aspx網頁表單中使用這種方式。從正常的aspx web窗體調用asp.net mvc控制器?

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

我知道它不應該像這樣在MVC項目中使用,但我們需要一些情況。

問候

回答

4

你可以用與被路由到您的問題控制權的url Response.Redirect的,我在你的情況猜測,那就是:

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

謝謝您的回答我的朋友,在我叫這個動作之前,url就像這個「http:// localhost:50834/Normal/WebForm.aspx」 它在普通的aspx web窗體中,然後,我叫actio像你的方式。 它顯示錯誤「無法找到資源」.url變得像這樣 「http:// localhost:50834/Normal/Temp/Display」 實際上,這個控制器url是「http:// localhost:50834/Temp /顯示「 我如何解決? 關於 Indi – Indi 2011-02-08 11:00:15

+0

@Indi:嘗試Response.Redirect(「../ Temp/Display」); – fretje 2011-02-08 11:17:15

1

這將是一個更好的主意,使用Url助手爲你解決的網址,這樣,如果你的路線改變,那麼你不必重構你的代碼。使用這種方法;

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

我從來沒有在這方面使用它,但我相信它應該按預期工作。

0

使用下面的代碼:

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

Controller/action

0

在WebForm的CS文件(從System.Web.UI.Page派生類)用途:

this.Response.RedirectToRoute(new { controller="ControllerToRedirectTo", action="ActionToRedirectTo", id=5, SomeOtherActionParameter="Parameter value" });