Jquery Dailog에서 부분 뷰를 반환하고 특정 컨트롤러 액션에 viewmodel 객체를 전달하고 싶습니다. 어떻게해야합니까?Url.Action을 사용하여 모델을 전달하는 방법은 무엇입니까?
보기
@Html.DropDownListFor(model => model.SelectedCountry, new SelectList(Model.CountryList, "CountryCode", "CountryName"), "---SELECT COUNTRY---",
new { @class = "chosen", @onchange = "this.form.action='/Home/Index'; this.form.submit(); " })
<input type="button" id="button1" value="Push"/>
<div id="dialog" title="Report" style="overflow: hidden;"></div>
JS
<script type="text/javascript">
$(function() {
$('#dialog').dialog({
autoOpen: false,
width: 400,
resizable: false,
title: 'Report',
modal: true,
open: function() {
//here how to pass viewmodel
$(this).load("@Url.Action("CreatePartial")");
},
buttons: {
"Close": function() {
$(this).dialog("close");
}
}
});
$('#button1').click(function() {
$('#dialog').dialog('open');
});
});
컨트롤러
현재 "homeViewModel.SelectedCountry"는 Null이며 Jquery에서 모델을 전달하는 방법은 무엇입니까?
$(this).load('@Url.Action("CreatePartial")',@Html.Raw(Json.Encode(Model)));
@ Html.Raw는 HTML 인코딩을 방지하기 위해 필요하다 :
을
$().ajax({method: 'POST'})
같이 HTTP POST를 (사용 및 POST 데이터로 데이터를 전달합니다. –을 당신은 IE, 맞아 해당 코드를 추가해 주셔서 감사합니다. – developer10214
고맙습니다. – user584018