控制器视图中的ASP.net MVC5访问按钮

Ste*_*hRT 2 c# asp.net asp.net-mvc asp.net-mvc-5

嘿,我刚接触MVC,所以这是我遇到的问题:

如何在我的“假”视图上设置按钮以从控制器可见?

我对该按钮的查看代码是:

<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
Run Code Online (Sandbox Code Playgroud)

我的控制器代码是:

public ActionResult getMainData()
{
  //More code up here....

  if (Permissions == "ADMIN") {
       AdminMode.Visible = True;
  } else {
     AdminMode.Visible = False;
  }

  //More code down here....
}
Run Code Online (Sandbox Code Playgroud)

但是上面的代码似乎没有“看到”视图上的AdminMode按钮?

我需要/怎样做才能更改按钮?

Jes*_*and 5

您可以使用剃刀在视图中隐藏事物。

@if(Model.Admin.Visible)
{
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
}
Run Code Online (Sandbox Code Playgroud)

只要确保您正在使用模型传递它即可。

模型:

public class Model
{
public Admin{get; set;}
}
Run Code Online (Sandbox Code Playgroud)

视图模型本质上只是一个容器类,您可以在其中将视图特定的信息传递给视图。

其他方法将使用ViewData / Viewbag(它们是同一件事),这是将数据传递到视图中的另一种方法。

控制器:

ViewBag.IsAdmin == true;
Run Code Online (Sandbox Code Playgroud)

视图:

@if(ViewBag.IsAdmin)
{
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
}
Run Code Online (Sandbox Code Playgroud)