Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC4应用程序部署在托管服务器上/找不到资源_Asp.net_Asp.net Mvc 4_Deployment_Hosting - Fatal编程技术网

ASP.NET MVC4应用程序部署在托管服务器上/找不到资源

ASP.NET MVC4应用程序部署在托管服务器上/找不到资源,asp.net,asp.net-mvc-4,deployment,hosting,Asp.net,Asp.net Mvc 4,Deployment,Hosting,我有一个asp.net mvc4 webapp,它的根目录中有一个Default.aspx(不是Views/Home…等等)。当我通过ftp将其发布到主机提供商并在web浏览器中键入域()时,它会显示: “/”应用程序中出现服务器错误 找不到资源 描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。 请求的URL:///code> 我甚至用Default.aspx和Index.aspx也试过了。如果我用页面名(domai

我有一个asp.net mvc4 webapp,它的根目录中有一个Default.aspx(不是Views/Home…等等)。当我通过ftp将其发布到主机提供商并在web浏览器中键入域()时,它会显示:
“/”应用程序中出现服务器错误

找不到资源

描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。 请求的URL:///code>

我甚至用
Default.aspx
Index.aspx
也试过了。如果我用页面名(domain/Default.aspx)键入域,它可以正常工作

My web.config:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <httpRuntime targetFramework="4.5" />
    <compilation debug="true" targetFramework="4.5" />
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.webServer>
    <defaultDocument enabled="true">
      <files>
        <clear />
        <add value="index.aspx" />
      </files>
    </defaultDocument>
    <modules runAllManagedModulesForAllRequests="true" />
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>
</configuration>

我需要实现的网页加载时,只有域类型。它可以将我重定向到domain/Default.aspx,也可以保持原样(domain)并显示站点

提供商说他们运行IIS 7.5和Default.aspx以及Index.aspx对他们来说也应该没问题

如果你还需要什么,请告诉我

提前感谢,,
davegen

您应该使用控制器,而不是静态aspx页面来执行此操作。在MVC中,默认情况下,如果使用索引操作创建HomeController,当用户未指定控制器/视图时,它将呈现返回的视图

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}
如果不想将其称为HomeController,可以在App_Start/RouteConfig.cs中更改默认值

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Default", action = "Index", id = UrlParameter.Optional }
);

我以前试过RouteConfig,但没用。我做了“家庭控制器”,但如果可以的话,情况会更糟。现在错误如下:“~/Default.aspx”处的视图必须派生自ViewPage、ViewPage、ViewUserControl或ViewUserControl。有什么想法吗?Default.aspx里面有没有C#代码,或者只是普通的HTML?我只是为了测试而创建的,一切都是默认的。创建了一个Web表单,并将一些文本放入其中的div中。其他的都没有修改。我的意思是当然我创建了homecontroller等,但没有什么困难会把事情搞砸。我不确定,所以我用一个快速的项目测试了它。不能将Web表单(.aspx)用作MVC视图页。在HomeController中,您应该只拥有
returnview()一旦你有了它,右键点击它,然后点击“添加视图”。Visual studio随后将Index.cshtml放入~/Views/Home。试一试,你会觉得一切都很好,就像它成功了一样!我添加了一段代码:Server.Transfer(“Index.aspx”);因此cshtml重定向到目标。这是一个很好的解决方案吗?