1
我在我的WEB API
項目中遇到了這個奇怪的問題。 這裏是我的項目的代碼片段:ASP.NET WEB API中的模型綁定問題
模型類:
[DataContract]
public class StudentInfo
{
[Key]
[DataMember]
[StringLength(20)]
public string StudentId {get; set;}
[Key]
[DataMember]
[StringLength(20)]
public string FirstName {get; set;}
[Key]
[DataMember]
[StringLength(20)]
public string LastName {get; set;}
[DataMember]
[StringLength(20)]
public string ContactNumber {get; set;}
[DataMember]
[StringLength(20)]
public string Gender {get; set;}
[DataMember]
[StringLength(20)]
public string Course {get; set;}
[DataMember]
public DateTime? CreatedDate {get; set;}
}
控制器類方法:
[Route("/Student/AddNewStudent")]
[HttpPost]
public IHttpActionResult AddNewStudent([FromBody]StudentInfo studentInfo)
{
/* Business Logic Here */
}
我使用小提琴手發佈如下XML到控制器:
<StudentInfo xmlns:www.w3........ xmlns:something>
<StudentId>ST00001</StudentId>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<ContactNumber>90</ContactNumber>
<Gender>MALE</Gender>
<Course>Computer Science</Course>
<CreatedDate /> -- Value assigned from controller code
</StudentInfo >
成功調用Fiddler的方法,但並非所有屬性都與xml元素值綁定。
的studentInfo物體看起來是這樣的:
StudentId ST00001
FirstNme null
LastNme null
ContactNumber null
Gender null
Course null
CreatedDate 01/01/0001T:00:00 -- Value is being changed by the controller
code later.
我試圖消除DatContract和DataMember attrributes但結果卻是一樣的。我正在使用默認的DataContractSerialization,並且還嘗試使用XMLSerialization但沒用。
請讓我知道我在這裏丟失了什麼以及如何修復它。
添加Order屬性後,代碼正常工作,非常感謝...... :) –