MVC3中的Ajax.ActionLink无法正常工作

时间:2012-08-23 12:01:54

标签: c# razor asp.net-ajax visual-studio-2012

我正在从 VS2012RC 开发一个Asp.net MVC3网站。我正在尝试使用Ajax Actionlink创建网站的部分视图。但它没有用。在尝试了解我的团队和大量搜索之后所做的一切之后,我在TestProject上尝试了它。对我的进一步抑郁症也没有用。我试图解决这个问题很长一段时间,现在我打电话给。

这就是我创建测试项目的方式。请告诉我是否犯了错误,或者这是我的机器故障。

  1. 我创建了一个带有html5语义标记的MVC3空项目以及Razor的视图引擎。
  2. 然后我在我的项目中添加了一个Home控制器,并为View()操作创建了一个视图。
  3. 然后我创建了另一个动作TestAjax()。
  4. 然后我在视图中的主文件夹中创建了局部视图 文件夹即可。
  5. 这是我的索引视图:

        @{
        ViewBag.Title = "Index";
        }
    
        <div>
        @Ajax.ActionLink("This is a test ajax","testAjax",new AjaxOptions{ UpdateTargetId =                                       "TestAjax" ,HttpMethod ="GET",InsertionMode =InsertionMode.InsertAfter})
    
        </div>
    
        <div id ="TestAjax">
        </div>
    

    部分视图是:

    <h1>Testing testing testing testing</h1>
    

    现在我的期望是,当我点击链接时,标题会出现在TestAjax部门的链接下方。但实际发生的是在主页中出现链接。当我点击链接时,它将转到“/ Home / testAjax”并仅显示部分视图。没有部分观点。

    你能告诉我这个程序有什么问题。

    编辑:

    <head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript">         </script>
    <script src="@Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")" type="text/javascript"></script>
    <script src="@Url.Content(" ~/Scripts/jquery.unobtrusive-ajax.js")" type = "text/javascript"> </script>  
    </head>
    

    当我检查视图Index()的网页中的资源时:

    <a href="/Home/TestAjax" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.insertAfter, httpMethod: 'GET', updateTargetId: 'TestAjax' });">This is a test ajax</a>
    

1 个答案:

答案 0 :(得分:0)

引用~/Scripts/jquery.unobtrusive-ajax.js js文件不在我的布局/视图中。因为我不熟悉ajax。所以,那些刚接触MVC中的ajax并且通过Googling来到这里的人,首先检查上面提到的这个参考是在你的布局/视图中。