更改按钮文本onclick with condition

时间:2015-01-03 18:18:11

标签: asp.net-mvc button viewbag actionresult

我的目标是有一个按钮,默认值为Block,当用户点击它时,它会将文本更改为Unblock,并且在页面刷新后,如果文本被更改,则按钮的文本必须保持不变要在刷新后取消阻止,它必须保持解锁状态。

我现在尝试过的是:

查看按钮的代码:

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 "

Controller ActionResult

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

我在ActionResult中传递字符串userAction时遇到问题,userAction的值在Method中传递为Null,因此按钮的文本没有改变,它显示"提交"按钮

请帮忙

1 个答案:

答案 0 :(得分:0)

使用名为“userAction”的隐藏输入元素,并将其值设置为您需要的值。

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

并且对于默认操作,设置userAction的初始化值,如下所示:

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

    //...

}

每当您传递名为userAction的内容时,它将被设置为“Block”而不是