2015-01-14 148 views
0

重定向到一個.aspx頁面中我是很新的MVC,並已與各個頁面之間重新引導掙扎。 我正在嘗試重定向到來自Controller的項目根文件夾中的aspx web窗體頁面。從MVC 4控制器

下面是我試過的解決方案:

  1. 公共RedirectResult redirectToAspx(){ 回報 重定向( 「〜/ Buffer.aspx」); }

  2. 返回重定向( 「〜/ Buffer.aspx」);

  3. 取出

    處理程序

    刪除名稱= 「BlockViewHandler」/>

    添加名稱= 「BlockViewHandler」 路徑= 「」動詞=「 」前提=「 integratedMode」類型= 「System.Web.HttpNotFoundHandler」/>

    /處理程序

    從System.WebServer

1和2工作時,我在我的本地機器上運行該項目,但部署到Intranet的IIS 7 爲什麼重定向被封鎖將是很大的幫助任何想法時不起作用?

+0

「不起作用」是什麼意思?你應該更具體。 – mason

+0

它重定向到Error.cshtml默認共享文件夾在我的觀點,並給出了錯誤 – user3043342

+0

這意味着你得到一個錯誤「而處理您的請求時出現錯誤」,你需要找出是什麼錯誤(檢查機器登錄Windows事件查看器,或者配置應用程序以顯示錯誤,或使用[ELMAH](https://code.google.com/p/elmah/)等工具將其記錄到某種數據存儲中 – mason

回答

0

可以在全局文件添加錯誤的方法來尋找內部異常。除了上線

放調試點,並得到了什麼是Web服務器上實際的錯誤。

還應該檢查MIME類型的處理程序上的Web服務器IIS Click here

protected void Application_Error(object sender, EventArgs e) 
     { 
      Exception exception = Server.GetLastError(); 
      Response.Clear(); 

      HttpException httpException = exception as HttpException; 

      if (httpException != null) 
      { 
       string action; 
       switch (httpException.GetHttpCode()) 
       { 
        case 404: 
         // page not found 
         action = "HttpError404"; 
         break; 
        case 500: 
         // server error 
         action = "HttpError500"; 
         break; 
        default: 
         action = "Index"; 
         break; 
       } 

       // clear error on server 
       Server.ClearError(); 

       Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message)); 
      } 
     } 

你也可以在web.config中做<customErrors mode="Off" />來查找網頁上的錯誤。

+0

謝謝爲信息。我在Global.asax中添加了上述方法,但仍未看到任何特定的錯誤消息。我也在我的本地機器上開發,然後將項目上傳到Web服務器,所以沒有辦法在本地主機上進行點分解調試和重定向。 我也嘗試過RedirectToAction和RedirectToRoute,它們都不能在IIS上運行。 – user3043342