MVC 3淘汰否则如果字符串!=“”

时间:2012-12-04 11:10:22

标签: asp.net-mvc if-statement knockout.js

<!-- ko if: ItemType() > 0 -->
  <div ...   </div>
<!-- /ko -->
<!-- ko else if: OfferId() != "" -->
  <div ...      </div>
<!-- /ko -->

ItemType和OfferId是对象中的属性,并由

添加
public string OfferId { get; set; }
public int ItemType { get; set; }

p.ItemType = ko.observable(item.ItemType);
p.OfferId = ko.observable(item.OfferId);

第一个if语句有效但不是else,即使ItemType为0且OfferId是什么的。为什么呢?

2 个答案:

答案 0 :(得分:2)

你没有在冒号之前输入javascript。这是淘汰赛中绑定的名称。在淘汰赛中没有else if绑定。

你需要这样做:

<!-- ko if: ItemType() > 0 -->
    <div ...   </div>
<!-- /ko -->
<!-- ko if: ItemType() <= 0 && OfferId() != "" -->
  <div ...      </div>
<!-- /ko -->

有关绑定的完整列表,请参阅http://knockoutjs.com

的左栏

“控制流”部分包含if绑定 - 无else if

答案 1 :(得分:0)

删除第二个语句中的else。据我所知,没有其他东西可以在淘汰赛中结束。

<!-- ko if: OfferId() != "" && ItemType() == 0 -->
  <div ...      </div>
<!-- /ko -->