Asp.net mvc 使用VB.NET的MVC 4中的模型绑定不适用于使用自动实现属性的模型
MVC4的模型绑定器似乎不适用于具有VB.NET自动实现属性的模型 例如,以这个人为的例子为例,我将一个简单的模型从JavaScript发布到一个控制器,该控制器(通过模型绑定器)对输入进行反序列化,并将其作为重新序列化的JSON返回 VB.NET中具有自动实现属性的ViewModel:Asp.net mvc 使用VB.NET的MVC 4中的模型绑定不适用于使用自动实现属性的模型,asp.net-mvc,vb.net,.net-4.5,Asp.net Mvc,Vb.net,.net 4.5,MVC4的模型绑定器似乎不适用于具有VB.NET自动实现属性的模型 例如,以这个人为的例子为例,我将一个简单的模型从JavaScript发布到一个控制器,该控制器(通过模型绑定器)对输入进行反序列化,并将其作为重新序列化的JSON返回 VB.NET中具有自动实现属性的ViewModel: Public Class CarViewModel Property Year As Integer Property Make As String Property Model
Public Class CarViewModel
Property Year As Integer
Property Make As String
Property Model As String
End Class
Public Class CarViewModel
Private _year as Integer
Public Property Year As Integer
Get
Return _year
End Get
Set(ByVal value as Integer)
_year = value
End Set
End Property
' endless typing for other properties
End Class
控制器:
Public Class CarController
Inherits Controller
<HttpPost> _
Function Save(ByVal model as CarViewModel) As JsonResult
Return Json(model)
End Function
End Class
这不符合预期。在JavaScript中,当我发布到MVC URL时,我希望看到
{ "Year": 2000, "Make" : "Ford", "Model" : "Mustang" }
但我看到的是
{ "Year": 0, "Make" : "", "Model" : "" }
如果我将CarViewModel更改为使用标准属性:
Public Class CarViewModel
Property Year As Integer
Property Make As String
Property Model As String
End Class
Public Class CarViewModel
Private _year as Integer
Public Property Year As Integer
Get
Return _year
End Get
Set(ByVal value as Integer)
_year = value
End Set
End Property
' endless typing for other properties
End Class
MVC模型绑定器工作正常,正如预期的那样
可以将VB.NET的自动实现属性与MVC的模型绑定器一起使用吗?我遗漏了什么吗?将属性作为字符串公开
公共属性模型
难以置信。谢谢