Есть ли чистый способ встраивания URL в вид бритвы? - PullRequest
1 голос
/ 23 февраля 2012

У меня есть частичное представление в приложении ASP.NET MVC:

@Html.Partial("_Comments", Model)

Я хочу сделать этот фрагмент "плагином", который можно вызывать из других приложений. Итак, я создал отдельное действие в моем контроллере для возврата только этого частичного представления:

public ActionResult Embed()
{
    return View("_Comments", new CommentsModel());
}

Затем к этому действию можно обратиться по URL-адресу [root] / Comments / Embed и вернуть HTML-код частичного представления.

Есть ли чистый способ встроить ответ с этого URL в отдельное представление бритвы MVC (в совершенно другом приложении)?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Есть ли чистый способ встроить ответ с этого URL в отдельное представление бритвы MVC (в совершенно другом приложении)?

Это означает код на стороне клиента, например:

function getComments() {
     $.ajax({ url: '[root]/Comments/Embed',
             iframe: true, 
             success: function (data) {
         $("#target-id").html(data);
     }
     });
 }

Редактировать

Если вы используете этот плагин ajax , если вы установите
iframe: true
, то выдоступ к кросс-домену через iframe Transparenlty

0 голосов
/ 23 февраля 2012

Я нашел решение.

@Html.Raw(new WebClient().DownloadString("[root]/Comments/Embed"))
...