Использование ASP.NET Razor Редактировать страницу данных в WebMatrix - PullRequest
0 голосов
/ 26 февраля 2012

У меня есть некоторые проблемы с редактированием данных с использованием ASP.NET Razor в WebMatrix я пишу этот код для редактирования данных с помощью команды обновления, но, к сожалению, он не работает: s: s

Код бритвы:

    @{
      {
            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>

1 Ответ

0 голосов
/ 26 февраля 2012

Ваш код уязвим для внедрения 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...