6
Tôi nhận được một số kết quả kỳ lạ trong khi cố gắng để vượt qua một đối tượng JSON phức tạp để một hành động trong MVC 3.đèo Complex JSON Object để một MVC 3 Action
Các Locations
được dân cư trên mô hình tham số hành động, nhưng tên và vị trí thì không.
Nếu tôi làm ko.toJS(testViewModel)
thì tên và vị trí ở đó, nhưng vị trí trống?
Tôi đang sử dụng knockout.js:
var testViewModel = {
Name: ko.observable("Joe Bob"),
Locations: ko.observableArray([
{ ID: 1, Name: "Salem, OR" },
{ ID: 2, Name: "Big Bear Lake, CA" },
{ ID: 3, Name: "Big Bear City, CA" }
]),
Position: ko.observable("Manager")
}
gửi nó qua jQuery ajax:
$.ajax({
url: "/ClaimsAuthority/Home/TestIt",
type: "POST",
data: ko.toJSON(testViewModel),
success: function (data, status, xhr) {
//ko.applyBindings(data);
}
});
MVC Hành động:
<HttpPost()>
Public Function TestIt(model As TestModel) As ActionResult
Return Json(model)
End Function
Models:
Public Class TestModel
Public Property ID As Integer
Public Property Name As String
Public Property Locations As ICollection(Of LocationModel)
Public Property Position As String
End Class
Public Class LocationModel
Public Property ID As Integer
Public Property Name As String
Public ReadOnly Property DisplayText As String
Get
Return String.Format("({0}) {1}", ID, Name)
End Get
End Property
End Class
Cảm ơn Darin !! Điều đó đã hiệu quả! Tôi sẽ nợ bạn một ly bia khá sớm! – Sam
Có thể phân tích các mô hình phức tạp theo cách này và nhận chúng trong hành động điều khiển như các đối tượng đã nhập không? Bởi vì tôi đang cố gắng làm điều tương tự nhưng bộ sưu tập của đối tượng, mặc dù với các cá thể, đi kèm với các giá trị thuộc tính rỗng. –
@GustavoRubio, vâng, có thể sử dụng các đối tượng và bộ sưu tập tùy ý phức tạp. Chỉ các tham chiếu đối tượng tròn không được hỗ trợ bởi vì chúng không thể được tuần tự hóa JSON. –