我在简单的变量条件检查方面遇到了更多的麻烦,但我是 Angular 的新手,希望有人可以帮助我。我试图在我的 Controller 中设置一个 bool 值,然后在我的 View 中检查它。听起来很简单,我可能做了一些小错误(希望如此)。
这是设置变量的 Controller :
var admin = false;
//do something that makes it true
ViewData["Admin"] = admin;
这是我尝试访问 View 中的变量,目前它的行为就好像它甚至没有考虑 bool 值并显示我的网格。
@{
bool admin = (bool)ViewData["Admin"];
}
<div ngIf="admin">
<div class="row">
<div class="grid" ui-grid="gridOptions"
ui-grid-pagination
ui-grid-selection
ui-grid-edit
ui-grid-row-edit
ui-grid-validate
ui-grid-exporter
ui-grid-cellNav
style="height: 500px;">
</div>
</div>
<div class="form-group">
<div class="container-fluid">
<div class="row">
<button type="button" onclick="@(" window.location.href='" + @Url.Action("Home", "Widgets", null) + "' ");" class="btn btn-primary col-sm-2">
Save
</button>
<button type="button" ng-click="save()" class="btn btn-primary col-sm-2">Cancel
</button>
</div>
</div>
</div>
</div>
无论条件如何,它都会显示,并且我将输出写入屏幕以确认该值为 True。我尝试了几种不同的语法方式,希望能够使其工作,但我无法找到一种方法使其工作。感谢任何帮助,我的头因撞在 table 上而感到疼痛。谢谢
最佳答案
我只是作弊并使用了 if block ,它对我有用
@{
var admin = @ViewData["Admin"].ToString();
}
@if (admin == "True") { //Show Grid }
我想这一定是div内部看不到值的东西,只是猜测。感谢大家对我的帮助。
关于javascript - ngif 无法与 ViewData 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37195920/