如果范围值为null,则隐藏<li>元素

时间:2017-09-04 06:48:22

标签: c# html angularjs razor umbraco

我希望隐藏列表中的某些项目,具体取决于范围值是否为空。

这是我的控制者:

angular.module("umbraco").controller("my.custom.grideditorcontroller", function ($scope) {
    $scope.control.heading;

    $scope.control.punkt1 = null;
    $scope.control.punkt2 = null;
    $scope.control.punkt3 = null;
    $scope.control.punkt4 = null;
    $scope.control.punkt5 = null;
});

我也有5个li元素,我想显示/隐藏,具体取决于每个范围属性是否都有

这是我的一个元素:

<li ng-hide="control.punkt5 == null">@Model.punkt5</li>

这不起作用,因为元素仍然显示。

我的属性使用与输入元素的双向绑定:

<input type="text" ng-model="control.punkt1" placeholder="Indtast første punkt...">

但是输入和li元素位于2个单独的HTML文档中,因为我正在为Umbraco创建一个网格编辑器。

这是我的文件夹结构:https://i.imgur.com/ZbejcOl.png

infobox.cshtml文件包含li元素,infobox.html文件包含输入元素。

我尝试在我的ng-hide / show条件中使用razoe代码,但是没有返回任何布尔值。不使用剃须刀接近这个的正确方法是什么?

我的渲染视图(infobox.cshtml)接收类型JObject的动态模型,但我不能在我的ng-hide条件中使用它的任何方法,因为它是c#。我尝试了previous post中提到的所有内容。

编辑:

<div ng-controller="my.custom.grideditorcontroller">
    <div class="list-group">
        <div class="list-group-item">
            <h4 class="list-group-item-heading">@Model.heading</h4>
            <ul class="ul-with-bullets">
                <li ng-show="IsProperty(@Model,'punkt1')">@Model.punkt1</li>
                <li ng-show="@Model.GetType().GetProperty("punkt2") != null">@Model.punkt2</li>
                <li ng-show="@Model.GetType().GetProperty("punkt3") != null">@Model.punkt3</li>
                <li ng-show="@Model.GetType().GetProperty("punkt4") != null">@Model.punkt4</li>
                <li ng-hide="control.punkt5">@Model.punkt5</li>
            </ul>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

使用此代码

public static void main(String[] args) {
   int empSize = getNumberOfEmployees("employees.txt");
   employees = new Employee[empSize]; 
   employees = read("employees.txt");

    BST bst = new BST();
    for(Employee e : employees){
        bst.insert(e);
    }

}

public static int getNumberOfEmployees (String file) {

    int totalEmp = 0;
    try {
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line;
        while((line = reader.readLine()) != null ) {
            totalEmp ++;
        }
    }catch (IOException e) {
        e.printStackTrace();
    }
    return totalEmp;
}

public static Employee[] read(String file) {
    try {

        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line;
        int i=0;

        while((line = reader.readLine()) != null ){
            String[] arr = line.split("-");
            Employee emp = new Employee();
            emp.ccode = Integer.parseInt(arr[0]);
            emp.cus_name = arr[1];
            emp.phone = arr[2];
            employees[i] = emp;
            i++;
        }
        return employees;
    } catch (IOException ex) {
        Logger.getLogger(TestMusic.class.getName()).log(Level.SEVERE, null, ex);
    }
    return null;
}

现在在您的视图中,您可以检查控件属性