2015-02-12 107 views
0

无法加载索引页面 我是否需要在RouteConfig.cs中进行更改?无法加载页面

Index.chtml

@model IEnumerable<MVCDemo.Models.Employee> 
@using MVCDemo.Models; 

@{ 
    ViewBag.Title = "Index"; 
} 

<div> 
<h2>Index</h2> 
<ul> 
    @foreach (Employee employee in @Model) 
    { 
     @Html.ActionLink(employee.Name, "Details", new { id = employee.EmployeeId}) 
    } 

</ul> 
</div> 

EmployeeController.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using MVCDemo.Models; 

namespace MVCDemo.Controllers 
{ 
    public class EmployeeController : Controller 
    { 

     public ActionResult Index() 
     { 
      List<Employee> employee = new List<Employee>(); 
      employee.Add(new Employee() 
      { 
       EmployeeId = 101, 
       Name = "John", 
       Gender = "Male", 
       City = "London" 
      }); 

      employee.Add(new Employee() 
      { 
       EmployeeId = 102, 
       Name = "Kacay", 
       Gender = "FeMale", 
       City = "Floria" 
      }); 

      employee.Add(new Employee() 
      { 
       EmployeeId = 103, 
       Name = "Sasha", 
       Gender = "FeMale", 
       City = "USA" 
      }); 

      return View(employee); 
     } 

     public ActionResult Details() 
     { 
      Employee employee = new Employee() 
      { 
       EmployeeId = 101, 
       Name = "John", 
       Gender = "Male", 
       City = "London" 
      }; 

      return View(employee); 
     } 

    } 
} 

Details.chtml

@model MVCDemo.Models.Employee 

@{ 
    ViewBag.Title = "Details"; 
} 

<h2>Details</h2> 

<tr> 
    <td> 
     EmployeeId : 
    </td> 
    <td> 
     @Model.EmployeeId 
    </td> 
    <td> 
     Name : 
    </td> 
    <td> 
     @Model.Name 
    </td> 
    <td> 
     Gender : 
    </td> 
    <td> 
     @Model.Gender 
    </td> 
    <td> 
     City : 
    </td> 
    <td> 
     @Model.City 
    </td> 
</tr> 

Employee.cs(型号)

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

namespace MVCDemo.Models 
{ 
    public class Employee 
    { 
     public int EmployeeId { get; set;} 
     public string Name { get; set; } 
     public string Gender { get; set; } 
     public string City { get; set; } 
    } 
} 

无法加载索引页面 我是否需要在RouteConfig.cs中进行更改?

+0

当你尝试加载它时会出现什么错误? – krillgar 2015-02-12 03:07:04

回答

0

应该有一个默认的路由配置,应该处理这个。确保将Index.html设置为正确的文件夹结构。按照惯例,MVC将在某些目录中查找视图。在你的情况下,它可能是Views \ Employee \ Index.html

你也可以安装NuGet软件包Glimpse,它可以深入了解正在发生的事情。

0

您的索引代码需要一些调整。 试试这个代替索引页:

@model IEnumerable<MVCDemo.Models.Employee> 
@using MVCDemo.Models; 

@{ 
    ViewBag.Title = "Index"; 
} 
<div> 
<h2>Index</h2> 
<ul> 
    @foreach (var item in Model) 
     { 
     @Html.ActionLink(item.Name, "Details", new { id = item.EmployeeId}) 
    } 
</ul> 
</div>