在mvc4中使用ajax.actionlink会导致刷新页面

时间:2014-04-21 19:01:04

标签: javascript jquery ajax asp.net-mvc-4

我有这样的观点:

@model IEnumerable<DomainClasses.Class>

@{
    ViewBag.Title = "لیست ";
}
<div id="test">
<h2>لیست کلاس ها</h2>

<p>
    @Html.ActionLink("ایجاد کلاس جدید", "Create")
</p>
<table>
    <tr>
        <th>
           @Html.DisplayNameFor(model => model.ClassName)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ClassName)
        </td>
        <td>
            @*@Html.ActionLink("ویرایش", "Edit", new { id=item.Id }) |*@
            @Ajax.ActionLink("ویرایش1","Edit",new { id=item.Id },new AjaxOptions(){UpdateTargetId = "test",InsertionMode = InsertionMode.Replace,HttpMethod = "GET"})
            @Html.ActionLink("حذف", "Delete", new { id=item.Id })
        </td>
    </tr>
}

</table>
    </div>

正如您所看到的,我创建了一个名为测试div,并创建了一个ajax操作链接:

  @Ajax.ActionLink("ویرایش1","Edit",new { id=item.Id },new AjaxOptions(){UpdateTargetId = "test",InsertionMode = InsertionMode.Replace,HttpMethod = "GET"})

因此,当我点击由ajax actionlink创建的链接时,我的页面会刷新,我的网址会更改为 localhost / Class / Edit / 1 。为什么会这样?我以为我的页面不应该刷新!

祝你好运

1 个答案:

答案 0 :(得分:1)

确保您的视图中包含jquery.unobtrusive-ajax.js脚本。如果你不在这里是nuget包http://www.nuget.org/packages/jQuery.Ajax.Unobtrusive/2.0.20710。安装软件包时,请确保视图中包含jquery.unobtrusive-ajax.js。