在WebMatrix中使用ASP.NET Razor编辑数据页



我在WebMatrix中使用ASP.NET Razor编辑数据时遇到了一些问题我写这段代码是为了使用Update命令编辑数据,但不幸的是它不起作用:s:s

Razor代码:

    @{
      {
            var userId = Request["UserId"];
    var db = Database.Open("intranet");
    var query = "UPDATE Personne SET Demande = @0 WHERE UserId LIKE '%@1%'";
    db.Execute(query,"refuser", userId);
 }
    }

html代码:

    <form action="responsable.cshtml" method="post">
    <input type="hidden" name="UserId" value="saadwafqui" />
    <input type="submit" value="Oui" /> 
</form>

您的代码容易受到SQL注入的攻击。我建议你解决这个问题。此外,您似乎使用了一些IsPost变量,该变量不太清楚在哪里定义。

示例:

@{
    var userId = Request["userid"];
    var db = Database.Open("intranet");
    var query = "UPDATE Personne SET Demande = @0 WHERE UserId LIKE '%' + @1 + '%'";
    db.Execute(query, "refuser", userId);
}

注意LIKE子句的语法:

LIKE '%' + @1 + '%'

这将匹配所有具有UserId在中间的记录。如果您只想匹配UserId以请求中的值开头的记录:

LIKE '%' + @1

如果您想要精确匹配,只需使用=运算符而不是LIKE子句。

此外,您的标记看起来完全损坏。没有window.location属性。也许你的意思是:

<form action="responsable.cshtml" method="post">
    <input type="hidden" name="userid" value="saadwafqui" />
    <input type="submit" value="Oui" /> 
</form>

或者如果您喜欢,可以使用GET请求:

<form action="responsable.cshtml" method="get">
    <input type="hidden" name="userid" value="saadwafqui" />
    <input type="submit" value="Oui" /> 
</form>

最新更新