ExternalProjectViewModel
、CertificateUniverSityViewModel
、CertificateInstitutionsViewModel
の3つのコレクションを含む1つのViewModelがあります。Ajaxを使用して複数のオブジェクトをASP.NET MVCコントローラに送信
CreateFreelancerProfileViewModel.cs
public class CreateFreelancerProfileViewModel : BaseViewModel
{
// More ...
public List<ExternalProjectViewModel> ExternalProjects { get; set; }
public List<CertificateUniverSityViewModel> CertificateUniverSitys { get; set; }
public List<CertificateInstitutionsViewModel> CertificateInstitutions { get; set; }
}
私のAjaxコード:
$('#Controller').on('click','#SaveProfile',
function() {
debugger;
var CertificateInstitutions =
JSON.parse(localStorage.getItem("CertificateInstitutionsListLocal"));
var CertificateUniverSitys =
JSON.parse(localStorage.getItem("CertificateUniverSitysListLocal"));
var ExternalProjects =
JSON.parse(localStorage.getItem("ExProjectListLocal"));
$.ajax({
url : '@Url.Action(MVC.Freelancer.Profile.CreatePrfile())',
method: "POST",
data: {
ExternalProjects,
CertificateUniverSitys,
CertificateInstitutions
}
});
});
私はコントローラにオブジェクトを送信したい場合は、まずLocalStorage からそれを取得し、それはそれを送る取得した後、コントローラの動作:
public virtual ActionResult CreatePrfile(CreateFreelancerProfileViewModel viewModel)
私はviewModel
の値を表示します。オブジェクトの数は2ですが、オブジェクトのプロパティはnullです。つまり、サーバーオブジェクトのプロパティ名はクライアントオブジェクトのプロパティ名と等しくなります。
のlocalStorageは
[{"ExternalProjects":{"Name":"wqeqwe","Body":"wqewqe","Url":"wqewqe"}}]
[{"CertificateUniverSity":{"Name":"sad","Description":"sadas","DateOfGets":"sad","CertificateType":"2","Field":"sadasd","UniName":"sad","CertificateUniverSityLevel":"2"}}]
ブラウザでリクエストを投稿し、私は、クライアント側のオブジェクトのプロパティで、この作業を行う – Steve
@Steveを参照キャプチャ –