0

MVC 3 ページを作成することになっています (Telerik を使用)。
以前に C# .aspx 4.0 でアプリケーションを作成し、問題なく動作しましたが、私の会社はそれを MVC ページとして使用したいと考えています。

私は MVC を使用したことはありませんが、一般的なこつをつかんだと思います。しかし、私は最も単純なステップで失敗しているようです。

Oracle データベースに接続し、データベースにクエリを実行して、最終的にデータをグリッドに表示したいと考えています。データベースへの接続方法がわかりません。(私は約50のチュートリアルを読みましたが、ここで私を助けるものは何も見つかりませんでした)

Web フォームのコード ビハインドに次のように記述します。

OleDBConnection dbConnection = new OleDbConnection();
dbConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
dbConnection.Open();

OleDbCommand dbCommand = new OleDbCommand();
dbCommand.CommandText = "select * from table where id > 500";

等々。次に、例として DataTable にデータを書き込みます。

だから私の質問に: MVC でこれを行うにはどうすればよいですか? モデルのどこかにそれを入れることは理解していますが、これまでに得たのはそれだけです。


さらなる議論のために:

メニューの一部:

...
.Items(item =>
{
item.Add().Text("Run Table Statistics").Action("Standard", "TableStatistics");
...

ここで、Folder DLA を作成し、それに新しいクラスを追加します。

public static IList<Tiles> GetTiles()
{
   //Write code to get data from your favorite db.(Oracle/SQLServer/..?) 
   //All you want to do is return a list of customer objects
}

<- オブジェクトとはどういう意味ですか? どうすればオブジェクトを取得できますか? 私はデータベースを読み込んで、それを DataTable または類似のものに追加しようとしていました。

ここで、「TableStatisticsController.cs」という空のコントローラーを作成します。ここにこれを配置します。

public ViewResult Standard()
{
  Object Tiles=**YourDataAccessClass**.GetTiles().ToList();
  return View(Tiles);
}

YourDataAccessClass とは、私が DLA で作成したクラスであるとはどういう意味ですか?

あなたは私の強く型付けされたビューで言いましたか?Telerik Grid View を使用したいのですが、可能ですか?

4

1 に答える 1

1

データ アクセス方法は、MVC アーキテクチャで何もする必要はありません。それ(データアクセス方法)は何でもかまいません。MVCSQLServer データベースと Oracle データベースのどちらを照会しているかは気にしません。データアクセス メソッドをメソッドにラップし、コード (コントローラー内のアクション メソッド) にそれを呼び出させるだけです。viewModels/Models などを使用してデータをビューに戻します...

このような顧客オブジェクトのリストを返すデータ アクセス コードをラップするとします。

public static IList<Customer> GetCustomers()
{
   //Write code to get data from your favorite db.(Oracle/SQLServer/..?) 
   //All you want to do is return a list of customer objects
}

このように Action メソッドからこれを呼び出すことができます

public ActionResult GetCustomerList()
{
  var customers=YourDataAccessClass.GetCustomers().ToList();
  return View(customers);
}

そして、顧客のリストにバインドされている強く型付けされたビューで

@model IList<Customer>    
@foreach(var item in Model)
{
    <p>@item.FirstName</p>
}

編集:質問編集に基づく

オブジェクトとはどういう意味ですか? どうすればオブジェクトを取得できますか? 私はデータベースを読み込んで、それを DataTable または類似のものに追加しようとしていました。

顧客/注文などのモデル/エンティティ クラスのオブジェクト。データ テーブルを返す代わりに、入力された顧客/注文オブジェクトを返します。

YourDataAccessClass とは、私が DLA で作成したクラスであるとはどういう意味ですか?

はい。それは正しいです。

あなたは私の強く型付けされたビューで言いましたか?Telerik Grid View を使用したいのですが、可能ですか?

はい、可能です。しかし、私はそれを使用したことはありません。彼らのドキュメントを調べる必要があります。

サンプル MVC アプリケーションをダウンロードして、その仕組みを理解することをお勧めします。

于 2012-06-19T20:48:32.730 に答える