0

ViewBageプロパティ値を取得してjQueryメソッドに渡そうとして問題が発生しました。たとえば、以下のコードでは、@ ViewBag.CountResultの値は1であり、ブラウザーに表示されますが、updateResultFooterメソッドに渡されると、「」のようになります。理由がわからない。下が私の見解です。何か助けはありますか?

前もって感謝します

<div>
    <div>
        <span>Téléphone ?</span>
        <input id="idTxTel" type="text" name="txTelephone"/>

        <input id="idBnSearch" type="submit" value="Chercher" name="bnSearch"/>
    </div>
    @Html.Partial("_Result", Model)
</div>

<script type="text/javascript">
    var methodUrl = '@Url.Content("~/Search/GetReverseResult/")';

    $(document).ready(function (){
        updateResultFooter("@ViewBag.CountResult", "@ViewBag.PageNumber", "@ViewBag.PageCount");

        $("#idBnSearch").click(function (){           
            var telValue = $("#idTxTel").val();

            pageIndex = 0;
            doReverseSearch(telValue, pageIndex, methodUrl);
            updateResultFooter("@ViewBag.CountResult", 0, "@ViewBag.PageCount");
        });

        $("#bnNextPage").live("click", function (){
            var telValue = $("#idTxTel").val();

            pageIndex = pageIndex + 1;
            doReverseSearch(telValue, pageIndex, methodUrl);
            updateResultFooter("@ViewBag.CountResult", pageIndex, "@ViewBag.PageCount");
        });
    });

    function updateResultFooter(resultCount, pageIndex, pageCount){
        if (resultCount == '0')
            $("#resultFooter").hide();
        else 
        {
            $("#resultFooter").show();

            if (pageIndex == 0)
                $("bnPreviousPage").attr('disabled', 'disabled');
            else
                $("bnPreviousPage").removeAttr('disabled');

            if ((pageIndex + 1) == pageCount)
                $("bnNextPage").attr('disabled', 'disabled');
            else
                $("bnNextPage").removeAttr('disabled');
        }
    }

    function doReverseSearch(telValue, pageIdx, methodUrl){
    $.ajax({
            url: methodUrl,
            type: 'post',
            data: JSON.stringify({ Telephone: telValue, pageIndex: pageIdx }),
            datatype: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                $('#result').replaceWith(data);
            },
            error: function (request, status, err) {
                alert(status);
                alert(err);
            }
        });
    }
</script>

PS:ユーザーが検索した結果に応じて、このコードを使用してWebページの表示を変更しています。

4

1 に答える 1

0

使用していたアプローチを変更しました。CountResultここで、モデルを変更して、( 、 )のように表示したいデータが含まれるようにしましたPageCount。そして、それは今うまくいきます。

于 2012-07-29T12:38:18.110 に答える