Как заменить значение другим значением, используя Jquery Ajax в MVC 2 - PullRequest
0 голосов
/ 09 августа 2011

Привет! Я использую Ajax Jquery для передачи промокода на контроллер, проверить код, сделать некоторые вычисления и вернуть результат, что я хочу сделать для замены итогового результата на странице новым результатом, ниже приведен код:

("#deduct").click(function () {
        var codenumber = $('#codeText').val();
        $.ajax({
            type:'POST',    
            url: this.href,
            cache: false,
            data: {input:$('#codeText').val() },
             success: function (result) {
            alert(result.name);
        },
        error: function () {
            alert("error");
        }
        });
        return false;
    });


     <div class="totalCost">
                   <label><b>Amount:</b></label> <%: String.Format("{0:c}", ViewBag.TotalAmount)%> <br /></div> // Want to replace ViewBag.TotalAmount with json result
                   <div class="promo">
                   <%:Html.ActionLink("promo", "Deduct", "Booking", null, new { id = "deduct" })%><input type="text" name="" id="codeText" />

                   </div>

Контроллер:

[HttpPost]
    public ActionResult Deduct(string input)
    {
        IVoucherRepository voucherResp = new VoucherRepository();
        IQueryable<Voucher> getVoucher = voucherResp.GetAllVouchers();
        //first check if the code is there or not else return error

        if (input == "")
        {
            return Json(new { name = "Please Enter the Promo Code" });
        }
        else if (getVoucher.Any(r => r.Code == input))
        {
            foreach (var validCode in getVoucher)
            {
                if (validCode.DiscountType == 1)
                {
                    decimal discount = Convert.ToDecimal(TempData["test"]) - validCode.Discount;
                    return Json(new { name =  discount });
                }
                //" Valid Code " + " Total Discount : " + validCode.Discount + " Discount Type : (£) " + " Final Price : " +

            }
            return Json(new { name = "" });
        }
        else
        {
            return Json(new { name = "Invalid Code Entered" });
        }

    }

1 Ответ

0 голосов
/ 09 августа 2011

Мистер А,

Вам нужно указать в поле суммы идентификатор, с которым вы будете работать. может сработать что-то вроде следующего:

<div class="totalCost">
  <label><b>Amount:</b></label><p id="newTotal"><!--existing stuff--></p> <br />
</div>

(вам, вероятно, даже не понадобится <br /> выше, если вы используете <p>)

и в вашем коде jquery:

success: function (result) {
        $('#newTotal').val(result.name);
}

это будет первое, что я попробую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...