我一直在MVC現在擺弄相當長的一段時間,我感興趣的是建立一個小型應用程序,記錄下一個CD所有的CD-內容。我現在的主要障礙是如何將內容列表與其他屬性值一起傳遞給Cd.class?發佈通過Ajax複雜對象,以MVC
public class Cd
{
public int CdId { get; set; }
public string Description { get; set; }
public virtual ICollection<Content> Contents { get; set; }
}
public class Content
{
public int Id { get; set; }
public string Name { get; set; }
public string ContentType { get; set; }
}
查看:
$.ajax({
url: '/cd/addCd',
type: 'POST',
data:$('form').serialize()
});
@using(Html.BeginForm()){
@Html.LabelFor(x=>x.CdId)
@Html.TextBoxFor(x=>x.CdId) <br/>
@Html.LabelFor(x=>x.Description)
@Html.TextBoxFor(x=>x.Description)<br />
<input type="submit" value="Submit" id="submit"/>
}
請大家注意,CDID和說明值由AJAX的序列化功能已經通過了 - 只有目錄的屬性是一個我m無法理解主意
更新
我解決我的查詢通過創建序列化的數據發送到控制器的AJAX代碼片段:
$.ajax({
type: 'POST',
url: 'http://localhost:54004/Cd/AddCd',
data: JSON.stringify(formData),
contentType:'application/json;charset=utf-8'
})
.success(function() { })
用下面FORMDATA OBJ:
var formData = {
'Description': "Learning Visual Studio 2012",
'CdId': 1,
'Contents': [{ "Id": 1, "Name": "Video #1", "ContentType": "Mp4" }, { "Id": 2, "Name": "Video #2", "ContentType": "Mp4" }]
};
現在控制器正在接收全設置Cd實體值及其內容。 希望這對未來的某個人有用。
好工作。我知道你去了哪裏。 – 2013-03-12 16:27:33