【问题标题】:asp.net MVC ajax does post back instead of render partial view in my divasp.net MVC ajax 确实回发而不是在我的 div 中呈现部分视图
【发布时间】:2015-04-24 15:03:03
【问题描述】:

我的 index.cshtml 中有这段代码

@Ajax.ActionLink("First", "First", new AjaxOptions()
{
    HttpMethod = "GET",
    UpdateTargetId = "partialstest",
    InsertionMode = InsertionMode.Replace
})

@Ajax.ActionLink("Second", "Second", new AjaxOptions()
{
    HttpMethod = "GET",
    UpdateTargetId = "partialstest",
    InsertionMode = InsertionMode.Replace
})

<div id="partialstest" style="width: 500px; height:500px; border:1px solid red;">

</div>

<script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/5.2/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

这是我的控制器:

public ActionResult Index()
    {
        return View();
    }

    public PartialViewResult First()
    {

        return PartialView("Partial1");
    }

    public PartialViewResult Second()
    {

        return PartialView("Partial1");
    }

当我调试它时,这里有一个链接:

http://localhost:23166/switchPartial/Index

当我点击我的链接(第一个或第二个)时,我希望我的部分视图呈现在 id 为 partialstest 的 div 中。但它确实回发并进入

http://localhost:23166/switchPartial/First

为什么?

【问题讨论】:

  • 您没有包含jquery.unobtrusive-ajax.js(这意味着@Ajax.ActionLink() 会退回到正常链接或重定向)
  • @StephenMuecke 谢谢队友

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


【解决方案1】:

检查文件 MicrosoftAjax.jsMicrosoftMvcAjax.js 是否真的存在于 ../../Scripts 文件夹中。对于 MVC3 及更高版本,请确保您使用的是 jquery.unobtrusive-ajax.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多