示例代码:在Visual Studio的MVC 5项目中,我设置了以下控制器和视图:
调节器
TestController.cs
public class TestController : BaseController
{
public ActionResult Index()
{
return View("Index");
}
public PartialViewResult MyPartialView1()
{
return PartialView("PartialView1");
}
public PartialViewResult MyPartialView2()
{
return PartialView("PartialView2");
}
}
查看
Index.cshtml
@{
Layout = null;
}
Testing Unobtrusive AJAX
@Ajax.ActionLink("Partial 1", "MyPartialView1", "Test",
new AjaxOptions() { UpdateTargetId = "contentShouldLoadHere", InsertionMode = InsertionMode.Replace })
|
@Ajax.ActionLink("Partial 2", "MyPartialView2", "Test",
new AjaxOptions() { UpdateTargetId = "contentShouldLoadHere", InsertionMode = InsertionMode.Replace })
This will get replaced.
PartialView1.cshtml
Test 1
PartialView2.cshtml
Test 2
题
如果我已正确理解,单击"Partial 1"应将"PartialView1"的内容加载到ID为"contentShouldLoadHere"的HTML元素中.相反,单击"部分1"会导致MyPartialView1操作的正常页面加载(~/Test/MyPartialView1)在Chrome开发工具控制台中,我收到以下JavaScript错误:
Uncaught ReferenceError: Sys is undefined
有谁知道这是为什么,以及我如何解决它?
注意
- 我已通过Chrome Dev Tools确认两个脚本都已正确加载. - @Ajax助手生成的链接的HTML是: