我有一个场景,我想根据登录的用户更改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
答案 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)