是否有一种干净的方式在剃刀视图中嵌入网址?

时间:2012-02-22 20:40:44

标签: asp.net-mvc razor

我在ASP.NET MVC应用程序中有部分视图:

@Html.Partial("_Comments", Model)

我想让这个部分成为可以从其他应用调用的“插件”。所以,我在我的控制器中创建了一个单独的动作来单独返回这个局部视图:

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

然后可以通过URL [root] / Comments / Embed访问此操作,并返回部分视图的HTML。

是否有一种干净的方法可以将来自此URL的响应嵌入到单独的MVC剃刀视图中(在完全不同的应用中)?

谢谢!

2 个答案:

答案 0 :(得分:2)

  

是否有一种干净的方法可以将来自此URL的响应嵌入到单独的MVC剃刀视图中(在完全不同的应用中)?

这意味着客户端代码,例如:

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

修改

如果您使用this ajax plugin,则设置为
iframe: true
然后你通过iframe transparenlty访问跨域

答案 1 :(得分:0)

我找到了解决方案。

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