Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webmatrix:将变量传递给SQL查询_Javascript_Sql_Forms_Razor_Webmatrix 3 - Fatal编程技术网

Javascript Webmatrix:将变量传递给SQL查询

Javascript Webmatrix:将变量传递给SQL查询,javascript,sql,forms,razor,webmatrix-3,Javascript,Sql,Forms,Razor,Webmatrix 3,我在Webmatrix(cshtml)中创建了一个站点,它使用一个循环来显示SQLCE表中的数据。我有一个按钮,单击该按钮时会运行一个查询,以更新该记录的“读取”状态。 我无法将记录ID传递到查询。如果我设置了一个静态ID,它会工作,但是当我将ID设置为动态时,它看起来好像工作了(并且一个警报显示ID正在传递给一个变量),但是记录不会更新 我的SQL是: db.Execute("UPDATE MyTable SET Status='F' WHERE MyTable.MyID=@0", m

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

我的SQL是:

    db.Execute("UPDATE MyTable SET Status='F' WHERE MyTable.MyID=@0", myVar);
我的HTML是(@details.is为循环创建的记录集):


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

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

函数setStatus(myVar){
}
请有人告诉我,如果我在正确的轨道上,如果是这样,我做错了什么。如果我完全偏离了轨道,那么实现这一目标的最佳方法是什么

非常感谢
(PS-如果这篇文章不符合适当的标准,请通过评论/留言让我知道,这样我就可以修改而不得分)

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


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

如何将myVar值从setStatus方法传递到服务器?谁在调用代码
db.Execute(
)?感谢您的回复。该按钮包含在中,提交时会检查执行相关查询的条件。if(Request.Form[“optFlag”!=null){db.Execute(“UPDATE MyTable SET Status='F'WHERE MyTable.MyID=@0”,myVar);}
    <script>
     function setStatus(myVar) {
     }
    </script>