0

我在 Webmatrix (cshtml) 中创建了一个站点,它使用循环来显示 SQL CE 表中的数据。我有一个按钮,单击该按钮会运行查询以更新该记录的“已读”状态。我无法将记录 ID 传递给查询。如果我设置了静态 ID,它可以工作,但是当我使 ID 动态时,它看起来正在工作(并且警报显示 ID 正在传递给变量),但记录不会更新。

我的 SQL 是:

    db.Execute("UPDATE MyTable SET Status='F' WHERE MyTable.MyID=@0", myVar);

我的 HTML 是(@details. 是为循环创建的记录集):

    <form method="post">
    <button type="submit" class="btn btn-xs btn-link pull-right" name="optFlag" onclick="javascript:setStatus(@details.MyID)" ><span class="fa fa-flag"></span></button>
    </form>

我用来将 ID 作为 onclick 传递的 JS 代码是:

    <script>
     function setStatus(myVar) {
     }
    </script>

请有人告诉我我是否在正确的轨道上,如果是这样,我做错了什么。如果我完全偏离轨道,实现这一目标的最佳方法是什么?

非常感谢(PS - 如果这篇文章不符合适当的标准,请通过评论/消息告诉我,以便我可以在没有负分的情况下进行修改)。

4

1 回答 1

0

你需要重新考虑你的方法。加载页面时,脚本语言(razor C#)将在 javascript 执行之前首先执行。所以不可能让javascript以这种方式执行db调用。

您可以改为让 javascript 加载一个新页面,以查询字符串或通过表单将变量发送到该新页面,然后使用该值通过您的 razor C# 代码执行 db 调用。

于 2016-01-29T00:10:52.763 回答