0

我正在从VS2012RC开发一个 Asp.net MVC3 网站。我正在尝试使用 Ajax Actionlink 创建网站的部分视图。但它不起作用。在与我的团队一起尝试了我所知道的一切并进行了大量搜索之后,我在一个 TestProject 上进行了尝试。我的进一步抑郁症也不起作用。我已经尝试解决这个问题很长时间了,现在我打电话给 SO。

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

  1. 我用 html5 语义标记和 Razor 的视图引擎创建了一个 MVC3 空项目。
  2. 然后我在我的项目中添加了一个 Home 控制器并为 View() 操作创建了一个视图。
  3. 然后我创建了另一个动作 TestAjax()。
  4. 然后我在 Views Folder的 Home 文件夹中创建了一个局部视图。

这是我的索引视图:

    @{
    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>
4

1 回答 1

0

引用的~/Scripts/jquery.unobtrusive-ajax.jsjs 文件不在我的布局/视图中。由于我不熟悉ajax。因此,那些不熟悉 MVC 中的 ajax 并通过谷歌搜索来到这里的人,首先检查上面提到的这个参考是否在您的布局/视图中。

于 2013-01-11T10:17:23.083 回答