1

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 データベース テーブル レイアウトがあります。

ここに画像の説明を入力

テーブルをうまくクエリして、各フィールドの値を個別に引き出すことができます。

私がしたいことは、結果セット (select * クエリのすべてのフィールドを含む) を DataGridView の並べ替えでユーザーに表示することです。各値を TR TD に簡単に配置し、それを文字列にプロットして、.cshtml 側に表示することはできますが、それは実際には何も教えてくれません。非常に効率的であるとは思えません。

補足事項 Razor に関する関連情報を見つけて、クエリからデータを表示することは非常に困難です。それは新しいためですか、および/またはRazorはC#初心者にとって避けるべきものですか?

4

1 に答える 1

0

これはカミソリ ビュー エンジンのせいではなく、ASP.Net MVC 全体の欠点です。

Web フォームとは異なり、ASP.Net MVCは、自動的に HTML に変換されるサーバー側のコントロールを提供しません。したがって、基本的にすべての HTMLを手動で作成する必要があります。

もちろん、HTML ヘルパーと呼ばれる組み込みのクラスがいくつかあり、一般的な HTML の操作に役立ちます ( http://msdn.microsoft.com/en-us/library/dd493063(v=vs.108).aspxを参照)。 )。

残念ながら、グリッドの HTLM を生成する組み込みのヘルパーはありません。

td独自のソリューションを構築することも(すべての作業を行うヘルパー クラスを手動で作成することもできますtr...)、既存のソリューションを使用することもできます。例を参照してください。

于 2013-05-16T17:25:26.903 に答える