【问题标题】:Change button text onclick with condition使用条件更改按钮文本
【发布时间】:2015-01-03 18:18:10
【问题描述】:

我的目标是有一个默认值 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 "

控制器动作结果

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

我在 ActionResult 中的这个传递字符串 userAction 中遇到问题,userAction 的值在方法中作为 Null 传递,所以按钮的文本没有改变,它在按钮上显示“提交”

请帮忙

【问题讨论】:

    标签: asp.net-mvc button viewbag actionresult


    【解决方案1】:

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

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

    对于默认操作,像这样设置 userAction 的初始化值:

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

    只要你没有传递任何名为 userAction 的东西,它就会被设置为 "Block" 而不是 null

    【讨论】:

    • 我已经尝试过了,它不起作用,即使在像这样分配 userAction="Block" 之后 userAction 仍然为空,并且在视图中这是我所做的 &lt;input type="submit" class="btn btn-danger btn-xs" id="Block"&gt; &lt;input type="hidden" name="userAction" value="@ViewBag.SubmitValue"&gt;
    • 你怎么称呼这个动作?使用表单发布还是获取?
    • 使用post,我是使用Ajax.beginform,这是我的部分视图&lt;input type="submit" class="btn btn-danger btn-xs" id="Block"&gt; &lt;input type="hidden" name="userAction" value="@ViewBag.SubmitValue"&gt;,主视图代码是:@using (Ajax.BeginForm("Block", "...", new { Id = Model.Id }, new AjaxOptions { HttpMethod = "Post", InsertionMode = InsertionMode.Replace, } )) { @Html.Partial("Block", new Models.Block()) }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多