0

我应该创建一个 MVC 3 页面(使用 Telerik)。
我之前在 C# .aspx 4.0 中创建了应用程序并且工作得很好,但我的公司更愿意将它作为 MVC 页面。

我从未使用过 MVC,但我认为我掌握了它的一般窍门;但是,我似乎在最简单的步骤上失败了。

我想连接到 oracle 数据库,查询数据库并最终在网格中显示数据。我不明白如何连接到数据库。(我通读了大约 50 个教程,但在这里找不到任何帮助我的东西)

在网络表单中,我会在后面的代码中写下这样的内容:

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

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

等等。然后将数据写入数据表,例如。

所以我的问题是:我将如何在 MVC 中做到这一点?我知道我会把它放在模型中的某个地方,但这就是我到目前为止所得到的。


进一步讨论:

部分菜单:

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

现在我将创建一个文件夹 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 Architecture做任何事情。它(数据访问方法)可以是任何东西。MVC不关心您是否正在查询 SQLServer 数据库/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 回答