在Razor中有效显示查询结果

时间:2013-05-16 17:01:28

标签: c# asp.net razor datagrid

我使用Visual C#和“Razor”选项创建了一个ASP.NET MVC 4 Web应用程序

HomeController.cs

    public ActionResult Tasks()
    {
        ViewBag.Message = "Tasks";

        string selectSql = "select * from Tasks";

        string connectionString = @"Data Source=lpc193\adamssqlserver;Database=master;Integrated Security=True;";

        DateTime strt;

        using (var cn = new SqlConnection(connectionString))
        using (var cmd = new SqlCommand(selectSql, cn))
        {
            cn.Open();

            using (var reader = cmd.ExecuteReader())
            {
                if (reader.Read())
                {
                    strt = reader.GetDateTime(reader.GetOrdinal("Start"));
                }
            }
        }

        return View();
    }

Tasks.cshtml

@{ 
    ViewBag.Title = "Tasks To Complete"; 
}

These are the tasks from the table

<!-- some datagrid object here ?? -->

我有以下SQL Server 2012数据库表格布局

enter image description here

我能够很好地查询表格并单独提取每个字段的值。

我想要做的是将DataGridView中的结果集(包含select *查询中的所有字段)显示给用户。我可以很容易地将每个值放入一个TR TD并将其放入一个字符串中,将其显示在.cshtml一侧......但那并没有真正教会我什么,我怀疑它非常有效。

旁注找到有关Razor的相关信息并显示查询数据非常困难。是因为它是新的,和/或Razor是为C#新手避免的东西吗?

1 个答案:

答案 0 :(得分:0)

这不是剃刀视图引擎的错,它更像是整个ASP.Net MVC的缺点。

与Webforms不同,ASP.Net MVC 不提供自动转换为HTML的服务器端控件。所以基本上你必须手工构建所有HTML

当然,有一些名为 HTML帮助的内置类可以帮助您处理常见的HTML内容(请参阅http://msdn.microsoft.com/en-us/library/dd493063(v=vs.108).aspx)。

但遗憾的是,没有为网格生成HTLM的内置助手。

您可以构建自己的(是的,手动编写将执行所有td / tr作业的帮助程序类...)或使用现有解决方案。 例如见: