从javascript调用剃刀功能(call razor function from javascr

2019-09-22 08:58发布

我创建与数据库剃须刀一个网站,但我已经从网页内改变数据库元素的一个问题。

所有的元素示出了与更新按钮的表格。 如果点击该按钮,它发送它的ID为JavaScript功能。 在该函数的阵列的所有必要的属性来创建。 然后我想该数组传递给我的剃须刀的功能,但调用JavaScript中的功能时,我得到一个错误(名称“KAMER”在目前情况下不存在)。 任何人都知道一个解决方案吗?

谢谢!

我的剃须刀功能:

@functions{
public String saveRoom(string[] room){
    var db = Database.Open("Studentenkamers"); 

    var sql = "UPDATE Studentkamer SET oppervlakte='" + room[1] + "', locatie='" + room[2] + "', type='" + room[3] + "', vrij='" + room[4] + "' WHERE id='" + room[0] + "'";
    db.Query(sql);     
    return "ok";

}

}

在HTML和JavaScript代码:

@foreach(var row in db.Query(getKamers))
     {            
        <tr id="@row.id">
            <td class="td-id">@row.id</td>
            <td class="td-opp"><input type="text" value="@row.oppervlakte" name="oppervlakte" id="td-opp" /></td>
            <td class="td-loc">@row.locatie</td>
            <td class="td-type"><input type="text" value="@row.type" name="type" id="td-type" /></td>
            <td class="td-kamernr">@row.kamernr</td>
            <td class="td-vrij"><input type="text" value="@row.vrij" name="vrij" id="td-vrij" /></td>
            <td class="td-update"><input type="button" value="opslaan" onclick="updateRoom(this.id)" name="opslaan" id="@row.id" /></td>
       </tr>               
     }
    </table>
    <script type="text/javascript">

        function updateRoom(id) {               
            var opp = $("#" + id + " .td-opp input").attr("value");
            var locatie = $("#" + id + " .td-loc").html();
            var type = $("#" + id + " .td-type input").attr("value");
            var kamernr = $("#" + id + " .td-kamernr").html();
            var vrij = $("#" + id + " .td-vrij input").attr("value");

            var kamer = [id, opp, locatie, type, kamernr, vrij];
            alert(kamer);
            @saveRoom(kamer);
        }
    </script>
文章来源: call razor function from javascript