1
私の質問はthis oneと非常に似ています。Razor WebPage:データベースから複数のページにデータを転送するには?
私の2つのページ、データを編集する1ページ、それを表示する1ページのデータベースと同じデータ(オブジェクトの属性、各行はオブジェクトを表します)を取得します。冗長なコードを減らし、メンテナンスを改善するために、データを一度だけロードするコードを書きたいと思っていました。
私の考えは_PageStart.cshtml
です。しかし、それで私はPageData
配列に文字列を格納できますが、オブジェクトは格納できません。
データベースの行を複数のページに表示するにはどうすればよいですか?ここで
は、私は、データベースからデータを取得する方法である:
var db = Database.Open("mydb");
String query = "select * from motors";
var rows = db.Query(query);
System.Data.DataTable motors = new System.Data.DataTable();
motors.Columns.Add("posX", typeof(int));
motors.Columns.Add("posY", typeof(int));
IEnumerator<dynamic> en = rows.GetEnumerator();
while (en.MoveNext()) {
motors.Rows.Add(en.Current.posX, en.Current.posY);
}
私は別のページにDataTableのmotors
にアクセスしたいと思います。
私はDataTableの 'motors'にアクセスしようとしました。 Visual Studio(と私がページを実行した後のサーバー)は、_現在のコンテキストには名前 'motors'が存在しないと言っています._ – elementzero23
残念ながら、コードページに出力を置く必要があります。もう1つのオプションは、データの一部にしかアクセスしたくない場合に、レイアウトページでコードの先頭にクエリを配置し、@ Page.motorsを使用して呼び出すことができます。しかし、代わりにPageMotorsとして変数モーターを指定する必要があります。 – James
"出力"とはどういう意味ですか?そして、 'yourpage.cshtml'にコードを入れて、' @ yourpage.motors'のようにDataTableにアクセスすることはできません。 – elementzero23