繁体   English   中英

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

[英]Getting data from Oracle Database using MVC (ASP.net/ C#)

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

@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循环仍在列表中运行,从而创建新的表行)我的问题是是否有一种方法可以将列表拆分为使用我使用的方法创建多个页面。 如果不是,是否仍然可以使用网络表单在列表中显示数据? *我尝试了Visual Studio提供的各种工具,但是它们都很慢。

这个nuget程序包, Paged List Mvc,对我来说非常有用 ,而且非常灵活。 您只需要在对控制器的调用中添加一个参数(所需的页面)即可完成其余的工作。

我发现它唯一不容易做到的事情是在文本中本地化“ First”,“ Next”,“ Previous”,而没有用您选择的任何语言对等效代码进行硬编码。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM