我是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(-----);
}
答案 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框架获取数据,而无需编写所有这些代码行。在互联网上查看一些实体框架教程,看看它是如何工作的。