如何添加动作结果? mvc5

时间:2013-12-20 13:54:57

标签: c# asp.net-mvc asp.net-mvc-5

我是ASP.NET MVC的新手。我需要创建一个动作结果来显示我的列表的内容。

我的Movie.cs类中有以下代码。我需要帮助来创建动作结果。我的代码是:

namespace MvcMovie.Models
 {
  public class Movie
  {
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
  }

 public class MovieDBContext : DbContext
{      
    public  List<Movie> GetMoviesList()
    {

        List<Movie> lmovie = new List<Movie>();

        SqlConnection con = new SqlConnection("Data Source=dev01;Initial Catalog=Test;Integrated Security=True");
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from Movies", con);

        SqlDataReader dr = cmd.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Load(dr);
        con.Close();


        foreach (DataRow r in dt.Rows)
        {
            Movie mv = new Movie();
            mv.ID = Convert.ToInt32( r["ID"]);
            mv.Title = r["Title"].ToString();
            mv.Price = Convert.ToInt32(r["Price"]);
            mv.ReleaseDate = Convert.ToDateTime(r["ReleaseDate"]);
            mv.Genre = r["Genre"].ToString();
            lmovie.Add(mv);

        }
        return lmovie;
    }

}
}

这是我在MoviesController中的动作结果:

public ActionResult Index()
{
    return View(-----);
}

2 个答案:

答案 0 :(得分:0)

在控制器中设置您的datacontext并将结果返回到您的视图,以便您可以去代表它们。

MoviesController:

  public ActionResult Index(){
    var context = new MovieDBContext();
    var allMovies = context.GetMoviesList();
    return View(allMovies);
  } 

启用Razor视图的默认行为:这将在/ Views / Movies文件夹中搜索视图文件“Index.cshtml”。您可以使用List模型创建index.Cshtml,以便在视图中使用“Model”作为列表迭代器。

但;去阅读关于c#/ MVC的任何入门教程,它可以让你更好地了解它在哪里。 http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started

答案 1 :(得分:0)

public ActionResult Index()    
{
    var dbContext = new MovieDBContext();
    var movieList= dbContext .GetMoviesList();
    return View(movieList);
}

确保您的索引视图(index.cshtml)强类型为Movie

的集合
@model List<MvcMovie.Models.Movie>
@foreach(var item in Model)
{
   <h2>@item.Title</h2>
}

注意:您正在继承DBContext课程,以便在MovieDBContext方法中创建GetMoviesList。但是在该方法中,您使用典型的ADO.NET代码来获取数据。在这种情况下,您甚至不需要从DBContext继承您的班级。

如果从DBContext继承,则可以使用Entity框架获取数据,而无需编写所有这些代码行。在互联网上查看一些实体框架教程,看看它是如何工作的。