Quiero devolver una vista parcial en Jquery Dailog y quería pasar el objeto viewmodel a una acción de controlador particular, ¿cómo hacerlo?cómo pasar el modelo con Url.Action?
Ver
@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');
});
});
controlador
public ActionResult CreatePartial(HomeViewModel homeViewModel)
{
return PartialView("_CreatePartial", homeViewModel);
}
Actualmente, "homeViewModel.SelectedCountry" es nulo, ¿cómo pasar el modelo en Jquery?
Tenga en cuenta que va a trabajar sólo con los modelos pequeños, como las URL tiene restricción de longitud (al menos en varios navegadores). –
Tiene usted razón, IE es conocido por eso. Gracias por solo agregar el código correspondiente. – developer10214
gracias mucho ... – user584018