0

私が直面している問題を最善の方法で説明しようと思います

ビューがあり、その中に基本的に入力フィールドとボタンを表示する部分ビューがあります。この部分ビューは次のようになります

<fieldset>
    @Html.HiddenFor(model => model.AuctionId)
    @Html.HiddenFor(model => model.AuctionEventId)
     <div class="lotdetail-maxbid-row">
        @Html.TextBoxFor(model => model.Amount, new { @class = "radius2 text-box single-line valid" })
        @Html.ValidationMessageFor(model => model.Amount)
    </div>
    <input type="submit" id="autobidButton" value="Increase Max bid" class="btn btn-level2 btn-maxbid @disableButton" />
</fieldset>

そして、この部分的なビューの中に、このスクリプトを配置しました

<script type="text/javascript">
$(document).ready(function () {
    $('#autobidButton').click(function () {
        $.ajax({
            url: "/Lot/AutobidConfirmationPartial",
            data: {
                amount: $("#Amount").val(),
                auctionEventId: $("#AuctionEventId").val(),
                auctionId: $("#AuctionId").val()
            },
            success: function (result) {
                $("#autobidConfirmation").empty().append(result);
            },
            type: "POST"
        });
        return false;
    });
});
</script>

親ページのdivの部分ビューである結果をロードすることを目的としています。

問題は、量が常に0(デフォルト値)であり、スクリプト内で関数を呼び出すときに更新されないことです。

何をすべきか、何を見るべきかについてのアイデアはありますか?

ありがとう、

更新:これは生成されたhtmlおよびコントローラーメソッドです

<fieldset>
   <input id="AuctionId" type="hidden" value="3" name="AuctionId">
   <input id="AuctionEventId" type="hidden" value="1" name="AuctionEventId">
   <div class="lotdetail-maxbid-row">
      <input id="Amount" class="radius2 text-box single-line valid" type="text" value="0" name="Amount">
   </div>
  <input id="autobidButton" class="btn btn-level2 btn-maxbid " type="submit" value="Increase Max bid">
</fieldset>

public ActionResult AutobidConfirmationPartial(int auctionEventId, int auctionId, decimal amount)
    {
        var incorrectAmount = false;
        var correctedAmount = amount;
        if (!CheckMaxBidFitsIncrementTier(amount, auctionEventId))
        {
            incorrectAmount = true;
            correctedAmount = CalculateNextBidAmountForWrongMaxAmount(amount, auctionEventId); ;
        }

        var model = new BidOnAuctionViewModel
        {
            AuctionEventId = auctionEventId,
            AuctionId = auctionId,
            Amount = correctedAmount,
            IncorrectAmount = incorrectAmount,
        };
        //TotalPriceBreakdown(ref model, null);
        return PartialView("BidConfirmationPartial", model);
}
4

0 に答える 0