반응형
전체 모델 세트를 formdata에 추가하고 MVC에서 가져 오는 방법
전체 세트 모델 객체를 formdata를 통해 전달하고 컨트롤러에서 모델 유형으로 변환하는 방법은 무엇입니까?
아래는 내가 시도한 것입니다!
자바 스크립트 부분 :
model = {
EventFromDate: fromDate,
EventToDate: toDate,
ImageUrl: imgUrl,
HotNewsDesc: $("#txthtDescription").val().trim(),
};
formdata.append("model",model);
그런 다음 AJAX를 통해 전달하면 문자열이 Request.Form["model"]되고 결과 값 이 동일하다는 것을 확인하면 문자열로 수신되고 값이"[object object]"
formdata를 통해 모델을 전달하고 컨트롤러에서 수신하는 방법이 있습니까?
뷰가 모델을 기반으로하고 <form>태그 내부에 컨트롤을 생성 한 경우 모델을 다음을 FormData사용하여 직렬화 할 수 있습니다.
var formdata = new FormData($('form').get(0));
여기에는 다음으로 생성 된 모든 파일도 포함됩니다. <input type="file" name="myImage" .../>
사용하여 다시 게시하십시오.
$.ajax({
url: '@Url.Action("YourActionName", "YourControllerName")',
type: 'POST',
data: formdata,
processData: false,
contentType: false,
});
컨트롤러에서
[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}
또는 (모델에에 대한 속성이 포함되지 않은 경우 HttpPostedFileBase)
[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}
양식에없는 추가 정보를 추가하려면 다음을 사용하여 추가 할 수 있습니다.
formdata.append('someProperty', 'SomeValue');
Ajax를 사용하여 Form 데이터를 보내려는 경우 이것이 보내는 방법입니다.
var formData = new FormData();
//File Upload
var totalFiles = document.getElementById("Iupload").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("Iupload").files[i];
formData.append("Document", file);
}
formData.append("NameCode", $('#SelecterID').val());
formData.append("AirLineCode", $('#SelecterID').val());
$.ajax({
url: "/Controller/ActionName",
type: "POST",
dataType: "JSON",
data: formData,
contentType: false,
processData: false,
success: function (result) {
}
})
보기 측면에서 ajax를 사용하는 경우
$('#button_Id').on('click', function(){
var Datas=JSON.stringify($('form').serialize());
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
url: '@Url.Action("ActionName","ControllerName")',
data:Datas,
cache: false,
dataType: 'JSON',
async: true,
success: function (data) {
},
});
});
컨트롤러 측에서는
[HttpPost]
public ActionResult ActionName(ModelName modelObj)
{
//Some code here
}
반응형
'program story' 카테고리의 다른 글
| JMeter : 콘텐츠 유형 헤더로 요청을 보내는 방법은 무엇입니까? (0) | 2020.11.15 |
|---|---|
| R은 변수 열 인덱스를 ggplot2에 전달합니다. (0) | 2020.11.15 |
| 주어진 ELF 실행 파일을 컴파일하는 데 사용되는 GCC 버전을 검색하는 방법은 무엇입니까? (0) | 2020.11.15 |
| Android : 사용자 정의보기의 높이와 너비를 얻는 방법은 무엇입니까? (0) | 2020.11.15 |
| Gerrit에 댓글을 추가 할 수 없습니다. (0) | 2020.11.15 |