Изменить текст кнопки по клику с условием

Моя цель состоит в том, чтобы иметь кнопку со значением по умолчанию "Блок", и когда пользователь нажимает на нее, она изменит текст на "Разблокировать", а также после обновления страницы текст кнопки должен остаться прежним, если текст затем будет изменен на "разблокировать". после обновления он должен оставаться разблокированным.

То, что я пробовал до сих пор, это:

Посмотреть код для кнопки:

input type="submit" value="@ViewBag.SubmitValue" id="Block" style="color: white; 
background-color: darkred; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px;
border-top-left-radius: 2px; border-top-right-radius: 2px; padding: 4px 4px; 
border: none; padding-bottom:2px "

Контроллер ActionResult

public ActionResult Block(int Id, Block block, string userAction)
        {
            if(userAction ==  "Block")
            {
                ViewBag.SubmitValue = "Block";
            }
            if (userAction == "Unblock")
            {
                ViewBag.SubmitValue = "Unblock";
            }
          .....
        }

У меня есть проблема в этой передаваемой строке userAction в ActionResult, значение userAction в методе передается как нулевое значение, поэтому текст кнопки не меняется и на кнопке отображается "Отправить"

Пожалуйста помоги

1 ответ

Используйте скрытый элемент ввода с именем "userAction" и установите его значение на то, что вам нужно.

<input type="hidden" name="userAction" value="@ViewBag.SubmitValue">

и для действия по умолчанию установите инициализированное значение userAction следующим образом:

public ActionResult Block(string userAction = "Block", int Id, Block block){

    //...

}

всякий раз, когда вы передаете ничего с именем userAction, он будет установлен на "Блок", не ноль

Другие вопросы по тегам