uso de AJAX para hacer esto. Usted tiene su parcial con su gorjeo modal html típica plantilla:
<div class="container">
<!-- Modal -->
<div class="modal fade" id="LocationNumberModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
×
</button>
<h4 class="modal-title">
Serial Numbers
</h4>
</div>
<div class="modal-body">
<span id="test"></span>
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
Close
</button>
</div>
</div>
</div>
</div>
</div>
entonces usted tiene su método de control, uso de JSON y tienen una clase personalizada que rendors la vista en una cadena. Hago esto para poder realizar múltiples actualizaciones de ajax en la pantalla con una llamada ajax. Consulte aquí: Example pero puede usar un PartialViewResult/ActionResult en el retorno si solo está haciendo una llamada. Voy a demostrar que el uso de JSON ..
JSON y el método en el controlador:
public JsonResult LocationNumberModal(string partNumber = "")
{
//Business Layer/DAL to get information
return Json(new {
LocationModal = ViewUtility.RenderRazorViewToString(this.ControllerContext, "LocationNumberModal.cshtml", new SomeModelObject())
},
JsonRequestBehavior.AllowGet
);
}
Y luego, en la vista de la utilización de su modal: puede empaquetar el AJAX en su parcial y llamar a @ {HTML. renderPartial ... O bien, puede tener un marcador de posición con un div:
<div id="LocationNumberModalContainer"></div>
entonces su ajax:
function LocationNumberModal() {
var partNumber = "1234";
var src = '@Url.Action("LocationNumberModal", "Home", new { area = "Part" })'
+ '?partNumber='' + partNumber;
$.ajax({
type: "GET",
url: src,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
$("#LocationNumberModalContainer").html(data.LocationModal);
$('#LocationNumberModal').modal('show');
}
});
};
A continuación, el botón para su modal:
<button type="button" id="GetLocBtn" class="btn btn-default" onclick="LocationNumberModal()">Get</button>
Muy limpio y simple - ¡gracias! – KWondra
Se vuelve más complicado si desea enviar un formulario desde el modal. –
¿Puedes elaborar, Shane? – KWondra