Функции Javascript не работают вместе в MVC Entity Framework - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь работать с представлением, которое имеет модальное значение, а внутри модели есть текстовое поле.

Что я пытаюсь сделать, это когда я ввожу значение внутри текстового поля, оно должно проверитьи сравните, если введенное число больше или меньше значения из базы данных (функция check ()) И одновременно пытается ограничить количество входов в текстовое поле до 3 раз (функция CountClicks ()).

Яиспользование ASP.NET MVC с Entity Framework в Visual Studio.

Проверка функции Javascript () не работает, но работает countClicks ()

Код моего контроллера:

public ActionResult Sample()
{
    return View(g.Sample_bargain.ToList());
}

[HttpPost]
public ActionResult Sample(FormCollection f)
{

     Sample_bargain s = new Sample_bargain();
     var cs = from d in g.Sample_bargain
              where s.Prod_ID == 20
              select s.Bargain_amt;
     ViewBag.bargain = cs;           
     int Bargain = Convert.ToInt32(f["bargain"]);
     return RedirectToAction("Cart");
}

Мой код просмотра выглядит следующим образом:

<script type="text/javascript">
    var ClickCount = 0;
    function countClicks() {
        var clickLimit = 3; //Max number of clicks
        if (ClickCount >= clickLimit) {
            alert("You can only click this button " + clickLimit + " times.");
            return false;
        }
        else {                                                                                                    
            ClickCount++;
            return true;
        }
    }

    function check() {
        var bargtextbox = document.getElementById("userbarg").value;
        if (@ViewBag.bargain > bargtextbox) {
            alert("Amount too low. Try a better bargain.");
        }
        else {
            alert("Amount High");
        }
    }       
</script>
<input type="number" value="0" id="userbarg" class="abc" name="userbarg" />
<button type="button" class="barg" value="" name="clickOnce" onclick="check(); countClicks(); "> SUBMIT </button>

1 Ответ

0 голосов
/ 19 октября 2018

Если вы когда-нибудь откроете devtool вашего браузера, например F12 на chrome, держу пари, вы увидите ошибку javascript.

В соответствии с кодом вашего контроллера ViewBag.bargain находится в действии POST, но выникогда не сможет отправить что-то обратно на сервер, так как ViewBag.bargain еще ничего не назначено.

Попробуйте переместить первые пять строк действия POST Sample () в GET (в котором отсутствует атрибут метода http), поэтому ваш JavaScript не генерирует ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...