2015-01-03 3 views
0

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

Что я попробовал uptil сейчас это:

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

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"; 
      } 
      ..... 
     } 

Я haivng вопрос в этой мимолетной строки userAction в ActionResult, значение userAction передается как Null в методе, поэтому текст кнопки не изменяется и отображается «Отправить» на кнопке

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

ответ

0

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

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

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

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

    //... 

} 

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

+0

Я попытался это , его не работает, все равно userAction имеет значение null даже после присвоения, как этот 'userAction =" Block ", и в View это то, что я сделал' ' – Rras

+0

как вы называете действие? используя форму сообщение или получить? –

+0

using post, я использую Ajax.beginform, и это мое частичное представление ' ', а код основного представления:' @using (Ajax.BeginForm («Блок», «...», новый {Id = Model.Id}, новый AjaxOptions { HTTPMethod = "сообщение", InsertionMode = InsertionMode.Replace, } )) { @ Html.Partial ("Блок", новый Models.Block()) } ' – Rras