Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在MVC3中单击链接时动态加载Iframe_Javascript_Asp.net Mvc 3_Asp.net Mvc Ajax - Fatal编程技术网

Javascript 在MVC3中单击链接时动态加载Iframe

Javascript 在MVC3中单击链接时动态加载Iframe,javascript,asp.net-mvc-3,asp.net-mvc-ajax,Javascript,Asp.net Mvc 3,Asp.net Mvc Ajax,您好,我正在MVC3中开发一个应用程序 我有一个模型 Hobbyname Hobbyurl 我画了一张表,在第一列中我获取了所有的hobbynames并将其显示为链接。 Hobbyurl包含与Hobbyname关联的页面的url 现在,当我从左侧单击Hobbyname时,我希望在右侧加载内容,我使用Iframe来显示内容,因此我需要在单击时反复加载Iframe 为了获取Hobbynames,我使用了以下代码: <td> <ul> @foreach (var i

您好,我正在MVC3中开发一个应用程序
我有一个模型

Hobbyname 
Hobbyurl
我画了一张表,在第一列中我获取了所有的hobbynames并将其显示为链接。 Hobbyurl包含与Hobbyname关联的页面的url 现在,当我从左侧单击Hobbyname时,我希望在右侧加载内容,我使用Iframe来显示内容,因此我需要在单击时反复加载Iframe

为了获取Hobbynames,我使用了以下代码:

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

    @foreach(模型中的var项目) {
  • @Html.ActionLink(item.HobbyName,“爱好”)
  • }
下面是脚本:

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

$('a')。单击(函数(){
$('iframe').attr('src',“/HobbyHomes/Test”);
}); 
但我无法在点击链接时加载Iframe。 请帮帮我你可以试试

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

但是还没有测试过这一点。

您可能希望在加载dom后附加onclick,如下所示

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

$(文档).ready(函数(){
$('a')。单击(函数(e){
e、 预防默认值();
$('iframe').attr('src',“/HobbyHomes/Test”);
}); 
});

您好,我尝试了您的解决方案,但在Iframe中没有加载任何内容。我认为我提供的路径可能是错误的,就像我直接以$('Iframe').attr('src','test.cshtml')编写的路径一样;你能给我指路吗this@MVC_Nhibernate:查看我的编辑。你试过类似的东西吗?嗨,我也试过dat,但它不起作用:(我已经更新了我的问题,并完全按照u所说的做了。。请查看并告诉我哪里出了问题。您好,当我单击它时,它会显示Iframe中的页面,但只有几秒钟,然后它会保持Iframe为空。。我应该如何克服这一问题?我已经编辑了它,以便它将参数“e”添加到单击中(这是事件对象)并在函数e.preventDefault()中添加了一行,以阻止事件冒泡。我的理论是,锚正在设置帧,但在重置所有内容后会对页面进行完整的回发。谢谢-您可能需要初始化$(document)中的大部分内容。ready函数:)@MVC\u Nhibernate:我相信
.ready()
超出了原始问题的范围。当它是解决方案时,怎么可能呢?他无法加载iframe,因为他需要在加载DOM后附加click处理程序,这需要一个ready type方法调用。