asp.net mvc-通过Javascript检索数据库记录

asp.net mvc - Retrieve Database record via Javascript

本文关键字:检索 数据库 记录 Javascript 通过 net mvc- asp      更新时间:2023-09-26

我要做的是检索数据库中与用户输入的记录相关的最新记录(对象)。并获取该对象的特定属性,并在一个简单的减法条件语句中使用它。

JavaScript:

<script type="text/javascript">
$('#DialogTime').dialog({
        autoOpen: false,
        width: 600,
        modal: true,
        buttons: {
            "Confirm": function () {
                $("#DSCreateForm").submit();
            },
            "Cancel": function () { $(this).dialog("close"); }
        }
    });

    $('.btnSubmitDS').on("click", function (e) {
        // this is where the conditional statement needs to be.
        {
            e.preventDefault();
            $(function () {
                $('#DialogHighFlightTime').dialog('open')
            });
        }
    });
</script>

现在,上面有这个脚本的视图是一个表单……一旦用户点击提交,他们刚刚提交的记录将成为表中的最后一行。。所以我需要从用户刚刚输入的行上面的行中获取属性值。

我知道如何写条件语句。。我只需要知道如何检索正确的记录。

我可能完全错了,但我不知道如何检索最接近用户刚刚输入的记录的记录。

感谢您的帮助。

如果您有一个与记录相关联的插入时间戳,您可以考虑按降序对结果进行排序,跳过第一个(刚刚插入的那个),然后取第一项。

LINQ可能很方便。

类似的东西

var secondLastRecord = db.Issues.OrderByDescending(s=>s.CreatedTime).Skip(1).Take(1);

如果您想将此限制为特定用户,可以考虑使用where子句添加其他条件。

var userIdToCheck=324;
var secondLastRecord = db.Issues.
                         .Where(c=>c.CreatedById==userIdToCheck)
                         .OrderByDescending(s=>s.CreatedTime).Skip(1).Take(1);

假设db是您的DbContext对象。如果使用的是非EF数据访问层,则仍然可以使用LINQ OrderByDescending-Skip-Take方法。将db.Issue替换为表示表数据的任何IEnumerable<T>

此外,要在javascript中实现这一点,您需要对服务器操作方法进行ajax调用,在该方法中执行此代码并返回它。