2014-04-04 41 views
0

當對局部視圖進行發佈時,visual studio web服務器在本地識別視圖並運行該方法,但是當從IIS8服務器運行時,它會給我一個404找不到頁面錯誤。IIS 8看不到局部視圖

在我身後的家庭控制器上的代碼,我有這個功能

[HttpPost] 
    public Void UpdateUserSystem(bool isChecked, int SystemId, int UserID) 
    { 
     // if isChecked then add system to user in the UserSystems table else remove it. 

     UserSystemBI usBI = new UserSystemBI(); 

     if (isChecked) 
      usBI.InsertUserSystem(UserID, SystemId); 
     else 
      usBI.DeleteUserSystem(UserID, SystemId); 
    } 

我也發在Ajax帖子http://dalwindev03/Home/UpdateUserSystem?SystemId=4&UserID=5&isChecked=false

當我這樣做的dalwindev03服務器上也根本」 t找到UpdateUserSystem的'視圖',但在本地當轉到相同的URL(http://localhost:10127/Home/UpdateUserSystem?SystemId=4&UserID=5&isChecked=false)時,它沒有問題並且命中該函數並運行代碼。

我錯過了什麼?

+0

你如何發佈/部署網站到Web服務器? –

+0

我在做生成 - >發佈到本地文件夾,然後複製並粘貼到Web服務器應用程序目錄。其他一切正在工作,包括另一頁上的一些Ajax。 – user3486385

+0

你的視圖是什麼樣的?提交按鈕是部分還是主要的?您可能需要查看EditorTemplates而不是Partials。你在使用Partial還是RenderPartial? –

回答

0

當您嘗試部署的文件的構建操作設置爲「無」而不是「內容」時,我遇到了此問題。在解決方案資源管理器中,打開缺少的視圖的屬性。確保'Build Action'被設置爲'Content'。

這裏的屬性窗口中我說的:

enter image description here

+0

不是這樣,我只是想通了......這很愚蠢。在Web服務器上,我需要明確應用程序名稱,因此,而不是http:// dalwindev03/Home/UpdateUserSystem?SystemId = 4&UserID = 5&isChecked = false 它應該是 http:// dalwindev03/SystemUptime/Home/UpdateUserSystem? SYSTEMID = 4&用戶ID = 5&=器isChecked假 – user3486385

0

確保「生成操作」設置爲「內容」。此行非常有幫助。浪費了4天后,得到了這個&解決了我的問題。