Ton*_*ony 3 asp.net razor asp.net-mvc-3
我想在一个内部渲染一个PartialView <iframe src=''></iframe>渲染的局部视图有自己的JavaScript代码和CSS工作表.我尝试了两种方法来完成这项工作(它们都没有工作):
Run Code Online (Sandbox Code Playgroud)1) <iframe src="http://localhost:54351/Box/19"></iframe> public PartialViewResult Box(int id) { return PartialView(GetBox(id)); }结果:纯文本(字符串),没有CSS表格,JavaScript代码不起作用
====================================
2)
Run Code Online (Sandbox Code Playgroud)<iframe src="@{ Html.RenderPartial("~/Views/Box.cshtml", @Model); }"></iframe>结果:显然它不起作用,iframe内没有任何显示
在第一个解决方案中,我想知道是否有可能返回可能具有有效JavaScript代码和CSS表的RazorView对象(或其他东西).有任何想法吗 ?
我相信你需要返回一个完整的View而不是PartialView.部分视图不会自动获取布局(因为它们被设计为插入现有页面).由于IFrame完全独立于父页面,因此它需要它自己的样式表和脚本引用标记.
public ActionResult Box(int id)
{
return View(GetBox(id));
}
Run Code Online (Sandbox Code Playgroud)
我认为你误解了部分观点和iframe.
iframe在另一个网页内呈现整个网页,而不仅仅是部分网页.iframe必须有一个完整的URL,该页面与当前页面不同(如果它是同一页面,它会尝试在自身内部一遍又一遍地渲染iframe,从而创建一个无限循环).
您需要做的是指定返回完整视图的其他操作的URL.如果渲染局部视图,则没有<head>标记,因此头标记中通常不会关联脚本标记.没有<link>标签,没有标题等......
| 归档时间: |
|
| 查看次数: |
16595 次 |
| 最近记录: |