我的问题与this one非常相似。
我从两个页面的数据库中获取相同的数据(对象的属性,每行代表一个对象),一个页面用于编辑数据,一个页面用于查看它。为了减少冗余代码并改进维护,我想编写一段只加载一次数据的代码。
我的想法是使用_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
。
答案 0 :(得分:1)
您所要做的就是创建一个只包含您的代码的页面,然后在您想要显示的任何页面上使用:
@RenderPage("~/yourpage.cshtml");