我想通过viewbag将sql中的数据打印到视图中, 这是cs类的代码,我在其中将数据添加到列表中并在viewbag中返回,但是我想在表的一行中动态检索5列。 所以不要理解如何在每行5列的视图中进行设置。
检查演示代码 控制器代码
public class moviestb
{
public int movieid { get; set; }
public String moviename { get; set; }
}
public class MoviesController : Controller
{
SqlConnection con;
SqlCommand cmd;
SqlDataReader rdr;
public MoviesController()
{
try
{
con = new SqlConnection(ConfigurationManager.ConnectionStrings["procon"].ConnectionString);
}
catch(Exception ex)
{
//Any Msg
}
con.Open();
String Query ="select * from movietb";
cmd = new SqlCommand(Query, con);
rdr = cmd.ExecuteReader();
List<moviestb> mov = new List<moviestb>();
while(rdr.Read())
{
mov.Add( new moviestb(){movieid=Convert.ToInt16(rdr["m_id"]), moviename= rdr["m_name"].ToString()});
}
}
ViewBag.MovieList = mov;
con.Close();
return View();
} 查看代码 这里我要每行5行
<table>
@foreach (var m in ViewBag.MovieList)
{
<tr>
<td>id = @m.Id title= @m.Title</td>
</tr>
}
</table>
在这里,我只想在1 td中设置电影ID,标题和图像。我希望每次迭代5 td,当我在上面的代码中运行时,我在一行中获取数据,我想要像这样的数据手表[link](prntscr .com / k754ho)
答案 0 :(得分:0)
如果您使用的是您所说的表格。
@for (int i = 0; i < ViewBag.MovieList.Count; i++)
{
<td>
<h1>@ViewBag.MovieList.IndexOf(i)</h1>
</td>
<td>
//whatever is next
</td>
}
但是我只想发表评论
答案 1 :(得分:0)
不确定“在一行表中动态包含5列”是什么意思,但是可以创建一个这样的表。
模型
public class Movie
{
public int Id { get; set; }
public string Title { get; set; }
}
服务
我将其移至单独的课程。
private IEnumerable<Movie> LoadMovies()
{
var connectionString = ConfigurationManager.ConnectionStrings["procon"].ConnectionString;
using (var connection = new SqlConnection(connectionString))
{
using (var command = new SqlCommand("select * from movietb"))
{
connection.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
yield return new Movie
{
Id = (int)reader["m_id"],
Title = reader["m_name"].ToString()
};
}
}
}
}
}
控制器
public ActionResult Index()
{
var movies = LoadMovies().ToList();
ViewBag.MovieList = movies;
return View();
}
查看
<table>
<th>
<td>Id</td>
<td>Title</td>
</th>
@foreach (var m in ViewBag.MovieList)
{
<tr>
<td>@m.Id</td>
<td>@m.Title</td>
</tr>
}
</table>