繁体   English   中英

Web应用程序两次调用相同的方法

[英]Web app calling two times the same method

我有一个ASP.NET(C#)应用程序。

在我的HomeController中

    public ActionResult Itens()
    {
        // Do anything here, doesn't matter.

        return PartialView("_Itens");
    }

在我的PartialView中

    <div class="itensPaginacaoEstilo">
        <div id="loadingPaginacao" class="divLoadingPaginacao" style="display: none">
            <img src="~/Content/Img/loadingAnimado.gif"/>
        </div>
        <div id="paginacaoProdutos" class="pagination a-paginacao-estilo">
            @Html.PagedListPager(produtosPaginados, page => Url.Action("Itens", new { page, perPage = perPage, filtrosColecao = filtrosColecao, filtrosHierarquia = filtrosHierarquia, filtrosLegendaLinha = filtrosLegendaLinha, filtrosFamilia = filtrosFamilia, filtrosMarca = filtrosMarca, filtrosEstoque = filtrosEstoque, filtrosMix = filtrosMix, chamador = chamador }), PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions { UpdateTargetId = "retorno", OnBegin = "MostraLoadingPaginacao()", OnComplete = "EscondeLoadingPaginacao(), MandaParaTopo()"}))
        </div>
    </div>

@ Html.PagedListPager生成什么:

在我的案例中, Url.Action隐式地带来了一个将生成分页的代码,并且在分页的每个按钮中,他都使我下面的代码更加简洁。

生成代码

<li>
    <a data-ajax="true" data-ajax-begin="MostraLoadingPaginacao()" data-ajax-complete="EscondeLoadingPaginacao(), MandaParaTopo()" data-ajax-mode="replace" data-ajax-update="#retorno" href="/Home/Itens?page=4&amp;perPage=25&amp;filtrosColecao=1%2C&amp;chamador=0">4</a>
</li>

问题

我引用的方法“强度”:

href="/Home/Itens?page=4&amp;perPage=25&amp;filtrosColecao=1%2C&amp;chamador=0">4</a>

...执行两次“强度”方法。

---为什么会这样?

我发现我的项目出了什么问题。 我正在使用以下两个JavaScript文件:

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

然后我发现每个文件都调用了一次ajax。

解决方案:

研究这两个文件后,我发现它们是相同的。 它们之间唯一改变的是,一个比另一个更紧凑。

因此,我删除了ajax.js ,只在项目中保留了ajax.min.js

<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

现在,这些方法只适用一次。 效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM