Asp.net-Mvc-3

從 IIS7 中的虛擬目錄執行 ASP.NET MVC 應用程序

  • December 4, 2020

是否可以從 IIS7 中的虛擬目錄執行 MVC 應用程序?我在 ASP.NET MVC3 中建構了一個開源實用程序應用程序,想知道這是否是一個錯誤;可能是該站點無法從虛擬目錄執行。

如果從名為**/app的虛擬目錄執行,則採用簡單的預設路由/home/index**,實際上將是 /app/home 索引。哪種類型的路由搞砸了。

我不希望使用者必須更改路由並重新編譯項目以在虛擬目錄中使用該應用程序。有沒有辦法更改配置參數以指示應用程序的根文件夾是什麼?

是否可以從 IIS7 中的虛擬目錄執行 MVC 應用程序?

這不僅是可能的,而且是首選方式。

哪種類型的路由搞砸了。

如果您在處理將處理此問題的 url 時使用 Html 助手,則不會。

這是一個典型的例子,說明你不應該做的事情:

<script type="text/javascript">
   $.ajax({
       url: '/home/index'
   });
</script>

這是應該如何完成的:

<script type="text/javascript">
   $.ajax({
       url: '@Url.Action("index", "home")'
   });
</script>

這是另一個你永遠不應該做的事情的典型例子:

<a href="/home/index">Foo</a>

這應該是這樣寫的:

@Html.ActionLink("Foo", "Index", "Home")

這是另一個你不應該做的事情的例子:

<form action="/home/index" method="opst">

</form>

這應該是這樣寫的:

@using (Html.BeginForm("Index", "Home"))
{

}

我認為你說對了。

引用自:https://stackoverflow.com/questions/6360175