2016-01-20 7 views
0

Я создал сайт в Webmatrix (cshtml), который использует цикл для отображения данных из таблицы SQL CE. У меня есть кнопка, которая при нажатии запускает запрос, чтобы обновить статус «читать» этой записи. У меня возникли проблемы с передачей идентификатора записи в запрос. Он работает, если я устанавливаю статический идентификатор, но когда я делаю динамический идентификатор, похоже, что он работает (и Alert показывает, что идентификатор переходит к переменной), но запись не обновляется.Webmatrix: Передача переменной SQL-запроса

My SQL является:

db.Execute("UPDATE MyTable SET Status='F' WHERE [email protected]", 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> 

код JS я использую, чтобы передать ID, как OnClick является:

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

Пожалуйста, может кто-нибудь сказать мне, если я нахожусь на правильном пути, и если это так, что я делаю неправильно. Если я полностью отслежу, что это лучший способ достичь этого?

Большое спасибо (PS - пожалуйста, дайте мне знать по комментариям/сообщению, если это сообщение не соответствует надлежащим стандартам, чтобы я мог внести поправки без отрицательного результата).

+0

Как передать значение myVar из метода setStatus на ваш сервер? который вызывает код 'db.Execute ('? – Shyju

+0

Спасибо за ответ. Кнопка находится в пределах

, и когда она отправляет ее, проверяет условия для выполнения соответствующего запроса. if (Request.Form ["optFlag" ]! = null) { db.Execute ("UPDATE MyTable SET Status = 'F' WHERE [email protected]", myVar);} – LB79

ответ

0

Вам нужно переосмыслить свой подход. Когда страница загружается, язык сценариев (бритва C#) будет выполнять FIRST до того, как будет работать javascript. Таким образом, невозможно сделать javascript для выполнения вызова db таким образом.

Возможно, вы можете загрузить javascript новую страницу, отправить переменную на эту новую страницу в querystring или через форму, а затем использовать значение для выполнения вызова db через ваш код C# бритвы.