1

ページネーションのために、ユーザーがリンクを押すと次のページに移動するこのURLがあります(リンク部分は部分ビューにあります)。

 @Html.ActionLink("|Siguiente >", "Index", new { pagina = Model.PageNumber + 1, ordenacion = ViewBag.Ordenacion, filtro = ViewBag.Filtro , empresa = "param-empresa" }, new { id = "mylinkSig" })



<script type="text/javascript">
     $(function () {
            $('#mylinkSig').click(function () {
                var empresa = $("#empresa").val();
                this.href = this.href.replace("param-empresa", encodeURIComponent(empresa));
            });
        });
</script> 

ほとんどすべてのページでスクリプトを使用しているため、このスクリプトを js ファイルに配置したいので、すべてのビュー (ページ) にスクリプトを記述する必要はありません。 (はい、私のページには .js ファイル参照があります)

私はjavascriptが初めてなので、関数を変更する必要があるかどうかわかりません.jsファイルで機能し、すべてのページで使用できます

編集:

私の Helper.js

$(function () {
    $('#mylinkSig').click(function () {
        var empresa = $("#empresa").val();
        this.href = this.href.replace("param-empresa", encodeURIComponent(empresa));
    });
});


function deleteConfirmation(response, status, data) {

    // remove the row from the table
    var rowId = "#widget-id-" + response.id;
    $('.widgets').find(rowId).remove();

    // display a status message with highlight
    $('#actionMessage').text(response.message);
    $('#actionMessage').effect("highlight", {}, 3000);
    if (response.message == null) {
        alert('No se pudo eliminar el registro');
    }
    else {
        alert(response.message);
    }

}

私の見解

<script src="@Url.Content("~/Scripts/Helper.js")" type="text/javascript"></script>

&nbsp;
@*navigation << < >>>*@
<div>

    Pagina @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber)
    de @Model.PageCount
    &nbsp;
    @if (Model.HasPreviousPage)
    {
        @Html.ActionLink("<<|", "Index", new { pagina = 1, ordenacion = ViewBag.Ordenacion, filtro = ViewBag.Filtro, empresa = "param-empresa" }, new { id = "mylinkFirst" })
        @Html.Raw("&nbsp;");
        @Html.ActionLink("< Anterior|", "Index", new { pagina = Model.PageNumber - 1, ordenacion = ViewBag.Ordenacion, filtro = ViewBag.Filtro, empresa = "param-empresa" }, new { id = "mylinkAnt" })
    }
    &nbsp;
    @if (Model.HasNextPage)
    {
        @Html.ActionLink("|Siguiente >", "Index", new { pagina = Model.PageNumber + 1, ordenacion = ViewBag.Ordenacion, filtro = ViewBag.Filtro , empresa = "param-empresa" }, new { id = "mylinkSig" })
        @Html.Raw("&nbsp;");
        @Html.ActionLink("|>>", "Index", new { pagina = Model.PageCount, ordenacion = ViewBag.Ordenacion, filtro = ViewBag.Filtro , empresa = "param-empresa"}, new { id = "mylinkLast" })
    }

</div>

&nbsp;
4

1 に答える 1

1

ファイルへの参照がある場合、script-tag を JS ファイルにもコピーしていると思われますが、これはすべきではありません。

この部分をコピーしてみてください:

$(function () {
    $('#mylinkSig').click(function () {
        var empresa = $("#empresa").val();
        this.href = this.href.replace("param-empresa", encodeURIComponent(empresa));
    });
});

そうすれば、別のファイルにコードを配置する場合と比較して、ページ内にコードを配置する場合に違いはありません。

于 2012-07-17T15:44:48.503 に答える