gpt4 book ai didi

asp.net-mvc-3 - 从 IIS7 中的虚拟目录运行 ASP.NET MVC 应用程序

转载 作者:行者123 更新时间:2023-12-04 13:02:47 25 4
gpt4 key购买 nike

是否可以从 IIS7 中的虚拟目录运行 MVC 应用程序?我在 ASP.NET MVC3 中构建了一个开源实用程序,想知道这是否是一个错误;可能是该站点无法从虚拟目录运行。

取一个简单的默认路由/home/index 如果从名为 的虚拟目录运行/app , 实际上是/app/home 索引。哪种情况会导致路由困惑。

我不希望用户必须更改路由并重新编译项目才能在虚拟目录中使用该应用程序。有没有办法更改配置参数以指示应用程序的根文件夹是什么?

最佳答案

Is it possible to run an MVC application from a virtual directory in IIS7?



这不仅是可能的,而且是首选的方式。

Which kind of messes things up for routing.



如果您在处理 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"))
{

}

我认为你说对了。

关于asp.net-mvc-3 - 从 IIS7 中的虚拟目录运行 ASP.NET MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com