Asp.net mvc 3 ASP.NETMVC3+;视图文件夹+;ASPX查看页面
我正在使用ASP.NET MVC 3框架开发一个web应用程序。Asp.net mvc 3 ASP.NETMVC3+;视图文件夹+;ASPX查看页面,asp.net-mvc-3,crystal-reports,views,viewpage,Asp.net Mvc 3,Crystal Reports,Views,Viewpage,我正在使用ASP.NET MVC 3框架开发一个web应用程序。 我已经实现了一个包含CrystalReportViewer控件的ASPX ViewPage。 我通过查看可在以下网站下载的项目获得了帮助: 以下是加载我的ASPX ViewPage的操作序列: 调用控制器的操作方法 将重定向到ASPX ViewPage 我的ASPX ViewPage位于名为AspNetForms的文件夹中。 文件夹AspNetForms位于我的项目根目录下 我做了个测试。 我已将AspNetForms文件夹移动到
我已经实现了一个包含CrystalReportViewer控件的ASPX ViewPage。
我通过查看可在以下网站下载的项目获得了帮助: 以下是加载我的ASPX ViewPage的操作序列:
文件夹AspNetForms位于我的项目根目录下 我做了个测试。
我已将AspNetForms文件夹移动到视图文件夹下。
然后,我更新了操作方法中写入的重定向。
但是,当我尝试加载我的ASPX ViewPage时,我遇到了404HTTP错误 有人能告诉我视图文件夹有什么特别之处吗? 我不确定路由是否与我的HTTP错误有关。
有关信息,请参阅我在Global.asax.cs文件中编写的RegisterRoutes方法:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
// Default parameters
new { controller = "Accueil", action = "Accueil", id = UrlParameter.Optional }
);
}
你没有提到你的控制器 在MVC中,所有web请求(嗯,几乎所有)都通过一个控制器。如果您尚未定义控制器操作,它将为您提供404。这是非常基本的MVC,如果你不理解这一点,你真的需要回到教程
视图永远不会直接呈现给客户端。如果您试图发送一个带有代码隐藏的标准.aspx页面,那么这不是一个视图。这是一个网络表单。MVC不允许通过URL直接访问Views文件夹,因为视图可能包含敏感信息。如果需要直接访问的文件,则必须将其放置在“视图”文件夹之外。视图文件夹包含一个web.config文件,其中包含以下行:
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
此特殊处理程序阻止对“视图”文件夹的所有访问。如果删除这些行,您将能够访问您的ASPX页面。出于安全原因,这些线路是他们的。如果删除它们,也可以直接查看所有razor视图