如何在Razor中包含角度语法

时间:2013-09-12 15:46:00

标签: angularjs razor

可以在Razor中包含Angular语法:

在下面的代码中,我试图说“p.name”不等于“全选”显示图像,但我不认为我可以在if语句中包含{{p.name}}

<div ng-repeat="p in Data.platforms">
    <div style="font-size: smaller">
        <input type="checkbox" ng-model="p.selected" />

        @if ("p.name" != "Select All") {
            <img ng-src="{{'/Content/img/'+p.name+'.jpg'}}" width="16" height="16" alt="{{p.name}}" />
        } 

        {{p.name}}
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

在Razor中你正在比较两个永远不会相等的字符串。 "p.name" != "Select All"始终为true

这一切都发生在角度之前。

在角度中,您可以使用ng-show

<div ng-repeat="p in Data.platforms">
    <div style="font-size: smaller">
        <input type="checkbox" ng-model="p.selected" />
        <img ng-show="p.name != 'Select All'" ng-src="{{'/Content/img/'+p.name+'.jpg'}}" width="16" height="16" alt="{{p.name}}" />
        {{p.name}}
    </div>
</div>

答案 1 :(得分:0)

你不能这样做,因为Razor不知道p.name的价值评估是什么。

但是你可以用AngularJS实现它

<img ng-show="p.name!= 'Select All'" ng-src="{{'/Content/img/'+p.name+'.jpg'}}" width="16" height="16" alt="{{p.name}}" />