簡體   English   中英

淘汰賽數據綁定問題

[英]Knockout data-bind issue

我有一個帶有數據綁定的下拉列表;

<asp:DropDownList ID="cmbType" Runat="server" AutoPostBack="False" data-bind="value: moveType">
  <asp:ListItem Value="">-- Please Select --</asp:ListItem>
  <asp:ListItem Value="0">Car</asp:ListItem>
  <asp:ListItem Value="1">Air</asp:ListItem>
</asp:DropDownList>

我也有

var viewModel = {
  this.moveType = ko.observable(MoveType);

};
ko.applyBindings(new ViewModel());​

其中“ MoveType”為0或1。這似乎工作正常,但只有一部分。 一切都很好,並且只有在“ MoveType” = 1的情況下,才可以正確選擇下拉菜單中的值。如果MoveType = 0,則它不想選擇“ Car”,而是選擇選項為“-Please Select-”,值“”。

問題很簡單,為什么呢? 我想念什么? 我聽不懂

您確定控制台沒有收到任何錯誤嗎?

我將您的代碼更改為:

var MoveType=1;
var ViewModel = function() {
    this.moveType = ko.observable(MoveType);       
};    
ko.applyBindings(new ViewModel()); // This makes Knockout get to work

現在它似乎可以工作了:您可以在這里進行測試

“汽車”在下拉列表中的值為0 (請查看您的Value屬性)。 這就是為什么0導致選擇“汽車”的原因。 如果要選擇“-請選擇-”,則需要將值設置為空字符串""

這又意味着您的javascript moveType以及C# MoveType必須是字符串而不是數字,因為“”不是有效數字。

為防止這種情況,我建議您對選項進行不同的編號:對於汽車,請使用Value="1" ;對於飛機,請使用Value="2" 然后,您的“請選擇”選項將得到Value="0"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM