使用MVC (ASP.net/ c#)从Oracle数据库获取数据

本文关键字:Oracle 数据库 获取 数据 MVC ASP net 使用 | 更新日期: 2023-09-27 18:04:51

我正在开发Visual Studio 2013 (MVC)网站,我试图在GridView中显示我的Oracle数据库中的数据。我使用了DataSet模型,并且能够获得数据。然而,它非常非常慢。加载页面需要几分钟的时间,而且大多数时候在加载过程中会冻结(关闭Visual Studio)。有了这个问题,我创建了一个数据库模型,并用c#编写查询。我传递了使用控制器返回的项目列表,然后在视图上打印数据,如下所示:

@model List<List<string>>

    <table style="background-color:lightblue;" border="1" align="center">
        <tr><th>Location</th><th>Server Name</th><th>Policy</th><th>Start Date</th><th>Report Date</th><th>Status</th><th>State</th><th>Schedule</th><th>Type</th><th>Dest. Media Server</th><th>job ID</th></tr>
        @foreach (var s in Model)
        {
            <tr>
                @foreach (var i in @s)
                {
                    <td> @i</td>
                }
            </tr>
        }
    </table>

在返回列表较小的大多数情况下,它工作得很好。当列表很长时,问题就开始了。页面加载很快,但冻结了一段时间(我认为这是因为当页面加载时,for循环仍在遍历列表,创建新的表行)。我的问题是,如果有一种方法将列表分成多个页面使用我使用的方法。如果没有,是否有办法使用webform在列表中显示数据?*我尝试了visual studio提供的各种工具,但它们都非常慢。

使用MVC (ASP.net/ c#)从Oracle数据库获取数据

这个nuget包,page List Mvc,对我来说很好,非常灵活。你只需要添加一个参数,(你想要的页面)到你对控制器的调用,它做剩下的。

我发现它唯一不容易做到的是本地化文本中的"First","Next","Previous",而不需要在您选择的任何语言中硬编码对应的内容。

您可以将列表显示为数字来解决这个问题。