2012-11-28 55 views
0

我是新來的果園CMS。如果有任何錯誤,我有要求爲管理員創建電子郵件通知。我製作了一個自定義模塊,以便發送電子郵件給管理員。此外,我已經從錯誤頁面重定向到模塊。果園返回頁面未找到

這裏是我NotFound.cshtml代碼在我的自定義主題

<script type="text/javascript" language="javascript"> 
    function ToError() { 
     window.location.href = '/FourOFour?LastURL=' + 
      (window.location.host + window.location.pathname); 
    } 
    window.onload = ToError; 
</script> 

這裏是模塊在我的自定義路由我創

new RouteDescriptor { 
    Priority = 11, 
    Route = new Route(
     "FourOFour", 
     new RouteValueDictionary { 
      {"area", "Prenagen.ErrorEmailing"}, 
      {"controller","Utama"}, 
      {"action","Error404"} 
     }, 
     new RouteValueDictionary(), 
     new RouteValueDictionary{ 
      {"area", "Prenagen.ErrorEmailing"} 
     }, 
     new MvcRouteHandler()) 
} 

所以找不到網頁會重定向到/FourOFour。當我在localhost中測試它時,所有的東西都可以正常工作。我輸入一個不存在的頁面,然後重定向到NotFound,然後到/FourOFour?LastURL=page。電子郵件發送給管理員。當我將它發佈到服務器時,找不到重定向到FourOFour,但找不到頁面。我該如何解決這個問題?請,任何人都幫助我。

編輯:它創建一個無限循環,因爲找不到FourOFour並且它保持重定向到同一頁面。

+0

也許你沒有啓用模塊? –

+0

@BertrandLeRoy該模塊已經在本地和服務器上啓用。但是,我們仍然會返回'Not Found'。該視圖也不是問題,因爲我在自定義主題和模塊中創建了視圖。 – didityedi

+0

您能否確認「Prenagen.ErrorEmailing」是您的項目名稱,module.txt中模塊的名稱,以及modules模塊文件夾中包含您的模塊的文件夾的名稱?如果我不把這些事情保持一致,我似乎遇到了麻煩。 –

回答

1

您的動態編譯是否被禁用?

如果是這樣,並且您只複製了您更改過的文件,則可能是導致問題的原因。

另一件可能導致問題的原因是,如果所做的更改需要創建添加到項目中的新文件。如果是這種情況,您應該已經將.csproj文件複製到服務器,以指示Orchard在動態編譯中包含新添加的文件。

嘗試重建你的模塊中的釋放模式,整個模塊複製到服務器,而不是隻在文件你變了,看看是否能工程..

+0

我該如何檢查動態編譯? – didityedi

+0

默認情況下,如果不使用模塊上載.csproj文件,它將被禁用。也可以使用文檔(http://docs.orchardproject.net/Documentation/Orchard-module-loader-and-dynamic-compilation#DisablingtheDynamicModule"loader)中描述的過程禁用它。我想我在Orchard 1.6的某個地方讀過,默認情況下它會被禁用(或者他們可能已經說過它計劃在未來的某些版本中使用)。 –

+0

如果它被禁用,請確保你上傳了模塊的整個'/ bin'文件夾.. –