我想使用Ajax以异步方式调用和返回控制器操作中的数据。
在下面的示例中,点击ActionLink
时,它会回复到只有“Hello!”的新页面。我怎样才能更新div?
控制器:
public class HelloAsyncController : Controller
{
public ActionResult Index()
{
return View();
}
public string Hello()
{
return "Hello!";
}
}
查看:
@Ajax.ActionLink("Say Hello", "Hello", "HelloAsync",
new AjaxOptions()
{
UpdateTargetId = "HelloDiv"
})
<div id="HelloDiv"></div>
包含在_Layout.cshtml中:
<script src="~/Scripts/modernizr-2.6.2.js"></script>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
我正在使用MVC 5.
答案 0 :(得分:1)
您是否尝试过使用
@Ajax.ActionLink(
"Say Hello",
"Hello",
"HelloAsync",
new AjaxOptions
{
UpdateTargetId="HelloDiv",
HttpMethod = "Get",
InsertionMode = InsertionMode.Replace
})
我的问题可能是
UpdateTargetID的内容必须在局部视图中 需要从Controller Action调用部分视图。 。你需要使用一个 局部视图。
同时检查
检查文件MicrosoftAjax.js和MicrosoftMvcAjax.js是否真的 出现在../../Scripts文件夹中。