根据mvc中的用户名更改按钮文本

时间:2017-12-26 14:25:10

标签: html asp.net-mvc

我有一个场景,我想根据登录的用户更改button text。另外,我会得到如下所示的已记录用户信息

@ViewBag.CurrentGroupName

这里也是我的按钮html

<input type="button" class="button approve" value="Accept" onclick="return SaveFiberData('Approve');" />

现在我想要的是

如果CurrentGroupName == FL and CurrentGroupName == FE,则文字应为Accept,否则应为Approve

我应该如何在MVC

中执行此操作

1 个答案:

答案 0 :(得分:1)

您可以有条件地渲染按钮的值属性值

<input type="button" class="btn"
       value="@((ViewBag.CurrentGroupName=="FL"||ViewBag.CurrentGroupName=="FE")?
                                                 Html.Raw("Accept"):Html.Raw("Approve"))"
     onclick="return SaveFiberData('@((ViewBag.CurrentGroupName=="FL"||
       ViewBag.CurrentGroupName=="FE")? Html.Raw("Accept"):Html.Raw("Approve"))');" />

虽然这有效,但我建议将if条件检查移动到辅助方法并使用它。因此,如果您必须在条件中添加第三个状态,则可以在一个位置进行更改。

您可以创建自定义html帮助器并使用它来渲染按钮。

MyHelper.cshtml文件夹中创建一个名为App_Code的视图(如果不存在,则在Web应用程序根目录中创建一个视图)。将以下辅助方法代码添加到该

@helper  MyButton(string item)
{
     var b = "Approve";
     if (item != null && (item == "FL" || item == "FE"))
     {
         b = "Accept";
     }
     <input type="button" class="btn" value="@b" onclick="return SaveFiberData('@b')" />
}

现在在您的视图中,您可以调用此帮助程序

@MyHelper.MyButton(ViewBag.CurrentGroupName)