嘿所有我是MVC的新手,所以这是我的问题,我坚持:
如何在我的视图上设置一个按钮False,以便从控制器看到它?
我的按钮视图代码为:
public ActionResult getMainData()
{
//More code up here....
if (Permissions == "ADMIN") {
AdminMode.Visible = True;
} else {
AdminMode.Visible = False;
}
//More code down here....
}
我的控制器代码是:
n <- [1..], n<=10, n >=1
但上面的代码似乎没有“看到”视图中的AdminMode按钮?
为了让我更改按钮,我需要做什么/做什么?
答案 0 :(得分:4)
使用剃刀隐藏视图中的内容。
@if(Model.Admin.Visible)
{
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
}
请确保使用您的模型传递它。
型号:
public class Model
{
public Admin{get; set;}
}
视图模型本质上只是一个容器类,您可以将视图特定信息传递给视图。
其他方法是使用ViewData / Viewbag(它们是相同的东西),这只是将数据传递到视图的另一种方式。
控制器:
ViewBag.IsAdmin == true;
查看:
@if(ViewBag.IsAdmin)
{
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
}
答案 1 :(得分:3)
MVC与WebForms略有不同。实际上,服务器上没有控制树,因此您无法访问控制器中的任何元素。您可以做的是为控制器中的ViewBag
添加一个值,并根据该值更改按钮可见性。
控制器:
public ActionResult getMainData()
{
//More code up here....
if (Permissions == "ADMIN") {
ViewBag.AdminMode = True;
} else {
ViewBag.AdminMode = False;
}
//More code down here....
}
查看:
@if (ViewBag.AdminMode) {
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
}