我最近在爲客戶實現JSON解決方案時遇到了一個問題。如果操作參數名稱與模型的屬性名稱匹配,則綁定器無法綁定任何屬性。MVC3 Json綁定錯誤?
一個例子:
控制器人民
public ActionResult SetEmails(Person emails){
...
return Content("");
}
因爲參數名被稱爲「電子郵件」以及所謂的「電子郵件」 ..粘結劑失敗Person模型的屬性名相匹配,但不給任何指示,爲什麼..
他們有一個叫做Person
public class Person {
public string Name { get; set; }
public List<string> Emails { get; set; }
public Person() {
Emails = new List<string>();
}
}
模型
這是一個錯誤,還是一個'功能'?
就像一個側面說明,我的問題更多的是關於如何參數名稱可能會導致活頁夾衝突?這個名字應該不重要,因爲它是定義它的模式以匹配json數據的類類型。爲什麼綁定器會關心你命名的參數或者它是否與參數本身的類類型中的屬性名稱匹配?
你可以發佈調用js代碼,或者至少是你提交的JSON嗎? –
json將是: {「Name」:「John」,「Emails」:[「[email protected]」,「test2 @ test。com)「}} json很好,正如我所說的,一旦我將Email參數名稱從Emails(匹配模型屬性名稱)更改爲任何不匹配,它的工作..我只是覺得它很有趣,不知道爲什麼這不應該工作,或者至少拋出一個異常,而不是一個具有空屬性值的實例化類!? – Mike