2013-04-10 106 views
0

我试图拨打另一个页面,以接收该页面上的代码。当我这样做时,第一次打电话JSON.cshtml它工作正常,但拨打JSON2.cshtml时,它不返回任何内容。怎么会这样?Jquery .load做第一次加载,但不是第二次

Default.cshtml

@{ 
Layout = "~/_Layout_Main.cshtml"; 
} 

@section head{ 
<script> 
    $(".btn").click(function() 
    { 
     get_update(); 
    }); 

    function get_update() 
    { 
     $("#success").load("JSON2.cshtml"); 
    }; 

    function get_contact() 
    { 
     $("#success").load("JSON.cshtml"); 
    }; 
</script> 
} 

<div id="success"></div> 

<script> 
get_contact(); 
</script> 

<a href="#" class="btn" style="color: #fff;">btn</a> 

JSON.cshtml

<p style="color: #fff;"> 
Hello 
</p> 

JSON2.cshtml

@{ 
for(int i = 0; i > 10; i++) 
{ 
    <p style="color: #fff;"> 
     @i 
    </p> 
    <br /> 
} 
} 
+1

因为你下载直接观看,而不是执行在ASP.NET MVC框架的背景下一个动作。您需要创建一个Action来返回此JSON2.cshtml视图,然后才会执行代码。 – 2013-04-10 16:26:49

+0

@ Moby'sStuntDouble你能告诉我一个如何做到这一点的例子吗? – 2013-04-10 16:34:49

回答

2

真的很简单。您将需要创建一个控制器:在你看来/ jQuery的

public class YourController: Controller 
{ 
    public ActionResult JSON2() 
    { 
     return View() 
    } 
} 

然后:

$("#success").load('@Url.Action("JSON2", "YourController")'); 

确保您的控制器的名称的文件夹的名称相匹配您的JSON2.cshtml视图坐在,这个视图将被框架找到。

我会谦卑地认为,你必须通过这里的入门教程一看:http://www.asp.net/mvc

相关问题