2012-04-23 36 views
0

嗨,我正在开发一个应用程序inMVc3
我有一个包含要加载的iframe动态地在MVC3链接的点击

Hobbyname 
Hobbyurl 

我画一个表,并在第一个专栏中,我获取一个模型中的所有业余爱好名单并将其显示为链接。 Hobbyurl包含与Hobbyname相关联的页面的URL 现在,当我从左侧点击Hobbyname时,我想要将内容加载到右侧我使用Iframe来显示内容,因此我需要Iframe再次加载并再次点击。

,以获取Hobbynames我使用的FOLL代码:

<td> 
<ul> 
    @foreach (var item in Model) 
    { 
    <li> @Html.ActionLink(item.HobbyName, "Hobbies")</li> 
    } 
</ul> 
</td> 
<td> 
<div> 
<iframe id="iframe"></iframe> 
</div> 
</td> 

和这里的脚本:

<script type="text/javascript"> 
$('a').click(function() { 
    $('iframe').attr('src', "/HobbyHomes/Test"); 
}); 
</script> 

,但我不能够加载的iFrame链接的点击。 请帮我

回答

0

你可能想在DOM被加载后,附上您的onclick,像这样

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('a').click(function (e) { 
    e.preventDefault(); 
    $('iframe').attr('src', "/HobbyHomes/Test"); 
    }); 
}); 
</script> 
+0

您好,它显示iframe中的页面,当我点击onit,但只有几秒钟,然后它保持iframe空empty.how我应该克服这个 – 2012-04-23 08:58:08

+0

我编辑它,使它添加参数'e'被传递到点击(这是事件对象),并添加了一个在函数e.preventDefault()中使用了一行代码,它可以阻止事件冒泡。我的理论是,锚点设置框架,但是在重置所有内容后对页面进行完整的回发。 – 2012-04-23 09:57:40

+0

嗨,thanx a !!!!它的工作。现在页面不能再次运行了..再次感谢 – 2012-04-23 10:13:06

0

你可以试试,

$(function(){ 
    $('a').click(function(){ 
    $('iframe').attr('src', "/Controller/Action"); 
    }); 
}); 

没有测试,但..

+0

嗨我试过你的解决方案,但没有得到加载的iframe我想我可能是错误的提供路径像我直接写为$('iframe')。attr('src',“test.cshtml”);可以请你直接给我这个 – 2012-04-23 07:24:59

+0

@MVC_Nhibernate:看我的编辑。你尝试过那样的事吗? – 2012-04-23 08:27:30

+0

您好我也试过dat,但它不起作用:(我已更新我的问题,并且完全按照您所说的做。请务必查看并告诉我在哪里我会出错。 – 2012-04-23 08:45:15