2011-11-13 76 views
0

我创建了一个新的MVC 3项目。我运行了该项目并加载了主页。然后我添加了一个名为“discussion.cshtml”的新视图。Asp.Net MVC 3 - 如何添加/将视图映射到项目?

我在Controllers文件夹1个控制器:HomeController的

编辑我拼错讨论之前,但它不是在我的项目拼写错误。问题依然存在。

新的观点是用这种方式设置:查看 - >首页 - > Discussion.cshtml

我将此代码添加到HomeController的

public ActionResult Discussion() 
     { 
      return View(); 
     } 

问题:视图没有加载时我跑了。我得到了404错误。索引页面加载这个URL“localhost:5553”。但我试过"localhost:5553/discussion.cshtml",它找不到它。如何映射/路由到视图。我不确定发生了什么,我觉得我错过了一些简单的事情。

的Global.ascx页面有通常的默认代码是否有帮助:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Routing; 

namespace MvcApplication1 
{ 
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801 

    public class MvcApplication : System.Web.HttpApplication 
    { 
     public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new HandleErrorAttribute()); 
     } 

     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
      ); 

     } 

     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 

      RegisterGlobalFilters(GlobalFilters.Filters); 
      RegisterRoutes(RouteTable.Routes); 
     } 
    } 
} 
+0

使用这个,它会正常工作: - localhost:5553/Discussion –

回答

0

你不能做到像本地主机:MVC的5553/discussion.cshtml”

右键单击在讨论操作并选择添加视图。

如果你浏览localhost:5553/Home/Discussion,将路由到视图您在上面添加。

+0

这没有奏效。 – EKet

+0

结果一切正常,但我添加了.cshtml。起初,它没有工作,当我删除它,但我关闭了视觉工作室,并清除我的缓存,它的工作。 – EKet

0

你似乎有一个典型值O操作。尝试重命名Discsussion.cshtmlDiscussion.cshtml

并尝试对其进行访问http://localhost:5553/home/discussion

+0

错字只是在帖子中而不是项目中。这没有用。 – EKet

+0

你能展示这个项目的更多细节吗?如何访问索引视图?你能看到吗?使用什么网址? – ysrb

+0

仅使用http:// localhost:5553加载索引页。 – EKet

0

随着刚刚返回查看()动作:

public ActionResult Discussion() 
{ 
     return View(); 
} 

的ASP.NET MVC引擎将寻找一个文件具有相同名称作为与控制器名称相同的文件夹中的操作。在你的情况下,文件名拼写不同。你也可以这样做:

public ActionResult Discussion() 
{ 
     return View("Discsussion"); 
} 

这将与当前的文件名,但似乎它的一个错字所以只重命名文件。

+0

错字只是在帖子中而不是项目中。这没有用。 – EKet

相关问题