Reputation: 485
I'm trying to display a partial view inside jQuery ui dialog window but I'm not having much luck with the load function. Dialog window does open but I dont see the content of the partial view.
JS code is in a external js file. alert does display.
$(document).ready(function () {
$('#dialog-modal').dialog({
autoOpen: false,
//width: 200,
height: 400,
modal: true,
open: function (event, ui) {
//alert("test");
$(this).load("@Url.Action(\"OpenDialogWindow\", \"Home\" )");
}
});
});
==================================================================
My div is on the master page like this.
<div id="dialog-modal" title="Select a city to see the listings"> </div>
========================
My ActionResult looks like this. I do have the view set as a partial view.
public ActionResult OpenDialogWindow()
{
return PartialView("DialogView");
}
========================
My view looks like this.
@using TheSGroup_Web.ViewModels
@model CitiesViewModel
<p>this is the content.
</p>
Upvotes: 3
Views: 19705
Reputation: 485
I'm not sure about MVC 2 or 3 but in MVC 4 this is how I got it to work.
$(document).ready(function () {
$('#dialog-modal').dialog({
autoOpen: false,
modal: true,
open: function (event, ui) {
//alert("test");
$(this).load("/Controller/Action");
}
});
});
function OpenDialog() {
$('#dialog-modal').dialog('open');
}
Upvotes: 10
Reputation: 1037
You could always make an ajax request to your partial view, check the status code, incase something went bonkers and you need to do something else, and store the response data in a variable. If the status code is 200 (OK), then load your dialog with the variable in the open: method, else, do something cool... I don't know the exact code off the top of my head, but it wouldn't be tuff I don't think...
Upvotes: 0