簡體   English   中英

項目發布后,路由到ASP NET MVC中的區域的問題

[英]Problems with routing to areas in ASP NET MVC after the project is published

我在ASP.NET MVC中使用兩個區域創建了該項目,其結構如圖所示:

在此處輸入圖片說明

啟動時,它會根據用戶的IP地址采用兩條路由之一。 代碼本身是這樣的:

if (myRole.Count == 0){
    return View ("~/Views/Shared/UserNotFound.cshtml");
 }if ((String.Equals(myRole[0], "Менеджер")) || ((myRole.Count > 1))){
     return RedirectPermanent("/Manager/ManagerHome/Index");
 }else{
     return RedirectPermanent("/Practitioner/PractitionerHome/Index");
 }

但是在我發布項目時,其結構完全不同:

在此處輸入圖片說明

肯定,在區域(例如,經理區域,如圖中所示)中沒有諸如“控制器”,“文件”和“模型”之類的文件夾。 因此,當我在Web瀏覽器中運行項目時,出現404錯誤。 是什么原因引起的? 我應該更改路徑還是項目發布不正確?

PS:我想知道這是否可能引起問題:該項目已重新發布-我第一次發布它,在iis中將其刪除並重新發布。 這是我第一次使用ASP.NET MVC發布的應用程序,因此我什至沒有任何有關這種行為原因的線索。

多虧了船長的問題,我提供了一些其他信息:項目中有許多文件夾,其中有“區域”。 但是,當我使用localhost / Aspid在localhost(項目名稱為Aspid,並且位於intepub \\ wwwroot \\ Aspid內)上運行它時,它將轉到localhost / Manager / ManageHome-我在其中一個控制器中編寫的路徑。 但是項目的結構缺少Manage / ManagerHome文件夾。 發布成功后應該怎么做?

您是否右鍵單擊“區域”並添加新文件夾而不是區域? 您缺少[AreaName] AreaRegistration.cs文件,該文件告訴RouteConfig這是一個區域。

確保右鍵單擊項目或“區域”文件夾>“添加”>“區域”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM