Webmatrix:将变量传递给SQL查询

时间:2016-01-20 20:51:06

标签: javascript sql forms razor webmatrix-3

我在Webmatrix(cshtml)中创建了一个站点,该站点使用循环来显示SQL CE表中的数据。我有一个按钮,当点击它时会运行一个查询来更新“阅读”。该记录的状态。 我在将记录ID传递给查询时遇到问题。如果我设置了一个静态ID,但是当我使ID动态时,它看起来像是在工作(并且一个Alert显示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 - 如果这篇文章没有达到适当的标准,请通过评论/留言告诉我,以便我可以修改而不会得到负面评分)。

1 个答案:

答案 0 :(得分:0)

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

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