[英]ASP.net MVC5 accessing button in view from controller
嘿所有我是MVC的新手所以這是我的問題我堅持:
如何在我的視圖上設置一個按鈕,從控制器可見?
我的按鈕視圖代碼是:
<Button class="btn btn-primary btn-large btnCustom5" id="AdminMode">Admin Mode</Button>
我的控制器代碼是:
public ActionResult getMainData()
{
//More code up here....
if (Permissions == "ADMIN") {
AdminMode.Visible = True;
} else {
AdminMode.Visible = False;
}
//More code down here....
}
但上面的代碼似乎沒有“看到”視圖上的AdminMode按鈕?
為了讓我更改按鈕,我需要做什么/做什么?
您可以使用剃須刀隱藏視圖中的內容。
@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>
}
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>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.