У меня это хорошо работает в моем текущем проекте.
Частичное представление использует разметку элемента управления Inherits точно так же, как полное представление, чтобы строго типизировать объект Model для типа данных.
Вот очень простой пример частичного представления, которое возвращается через ajax-вызов и помещается в div. Цель этого частичного представления - показать текстовое сообщение, которое передано ему.
LiteralMessage.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<!-- LiteralMessage.ascx start -->
<%= Model %>
<!-- LiteralMessage.ascx end -->
Метод контроллера
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ReturnId(int id)
{
return PartialView("LiteralMessage", string.Format("Hello world! Id: {0}", id));
}
Обратите внимание, что в частичном представлении страницы может быть любой сложный объект.
Надеюсь, это поможет!
РЕДАКТИРОВАТЬ: и поскольку это также указано в jQuery, используйте его как событие success вашего ajax. (Предполагается, что в вашем диалоге есть содержимое DIV с идентификатором MyDialogMessage внутри диалогового окна DIV с идентификатором MyDialog)
// executes when $.post is complete
function doSuccess(result)
{
$('div#MyDialog div#MyDialogMessage').html(result);
//show dialog
$('div#MyDialog').dialog('open');
}