【问题标题】:ASP.NET MVC AJAX POST 500 Internenal Server ErrorASP.NET MVC AJAX POST 500 内部服务器错误
【发布时间】:2020-12-11 13:51:43
【问题描述】:

我想更新该行,但是当我单击更新按钮时返回 json 结果消息“500 内部服务器错误”。我没发现问题。你能检查一下代码吗?

[HttpPost]
    public JsonResult UpdateInStock(int stokID, int amount, int uCost, int sumCost, string detail, string unit)
    {
        var model = db.tbl_InStock.Where(x => x.stockInID == stokID).FirstOrDefault();
        model.stockInAmount = amount;
        model.stockInCost = uCost;
        model.stockInSum = sumCost;
        model.stockInDetail = detail;
        model.stockInUnit = unit;
        //db.SaveChanges();

        return Json(new { result = "Redirect", url = Url.Action("Gelen", "Anasayfa") });
    }

我想更新该行,但是当我单击更新按钮时返回 json 结果消息“500 内部服务器错误”。我没发现问题。你能检查一下代码吗?

//Jquery Code
$("#uptInStock").click(function () {
        var no = $.trim($("#stokInIDD").val());
        var miktar = $.trim($("#amountt").val());
        var fiyat = $.trim($("#unitCostt").val());
        var toplam = $.trim($("#sumCostt").val());
        var detay = $.trim($("#detaill").val());
        var birim = $.trim($("#birimm option:selected").text());
        var obj = { stokID: no, amount: miktar, uCost: fiyat, sumCost: toplam, detail: detay, unit: birim };
        $.ajax({
            type: "POST",
            url: 'UpdateInStock',
            crossDomain: true,
            data: JSON.stringify(obj),
            contentType: 'application/json;charset=utf-8"',
            dataType: 'json',
            success: function (response) {
                if (response.result == 'Redirect')
                    window.location = response.url;
                alert("Suc");
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    });
//Html Code
@using (Html.BeginForm("UpdateInStock", "Anasayfa", FormMethod.Post))
            {
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Gelen Ürün - Güncelle</h5>
                </div>
                <div class="modal-body">
                    <input type="hidden" class="form-control" id="proIDD" />
                    <input type="hidden" class="form-control" id="stokInIDD" />
                    <div class="form-group">
                        <label class="sr-only mb-4" for="inlineFormInputGroup">Miktar</label>
                        <div class="proUnit2 input-group mb-4">
                            <div class="input-group-prepend">
                                <div class="input-group-text">Miktar</div>
                            </div>
                            <input type="text" class="form-control" id="amountt" />
                        </div>
                    </div>
                    <div class="form-group">
                        <select class="form-control mb-4" id="birimm" name="birim">
                            <option value="0">Birim Seçiniz</option>
                            <option value="1">Adet</option>
                            <option value="2">Bidon</option>
                            <option value="3">Koli</option>
                            <option value="4">Paket</option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label class="sr-only mb-4" for="inlineFormInputGroup">Birim Fiyatı</label>
                        <div class="proUnit input-group mb-4">
                            <div class="input-group-prepend">
                                <div class="input-group-text"><i class="fa fa-try" aria-hidden="true"></i></div>
                            </div>
                            <input type="text" class="form-control" id="unitCostt" placeholder="Birim fiyatı" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="sr-only mb-4" for="inlineFormInputGroup">Toplam Fiyatı</label>
                        <div class="proUnit input-group mb-4">
                            <div class="input-group-prepend">
                                <div class="input-group-text"><i class="fa fa-try" aria-hidden="true"></i></div>
                            </div>
                            <input type="text" class="form-control" id="sumCostt" placeholder="Toplam fiyatı" />
                        </div>
                    </div>
                    <div class="form-group">
                        <input type="text" class="form-control" id="detaill" placeholder="Açıklama" />
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">Vazgeç</button>
                    <button id="uptInStock" type="button" class="btn btn-primary btn-sm">Kaydet</button>
                </div>
            }

【问题讨论】:

  • 欢迎来到 StackOverflow!我将使用您的调试器并逐步执行您的控制器操作,以找出 500 错误的确切来源。如果您仍需要帮助,请务必使用该信息更新您的答案。

标签: asp.net json ajax model-view-controller


【解决方案1】:

我解决了这个问题。问题在于带逗号的数字。

var fiyat = $.trim($("#unitCostt").val());
var toplam = $.trim($("#sumCostt").val());

这些字段应转换为浮点值。

var fiyat = parseFloat($.trim($("#unitCostt").val()));
var toplam = parseFloat($.trim($("#sumCostt").val()));

【讨论】:

    【解决方案2】:

    如有必要,请尝试使用urlControllerActionArea。下面是一些示例url,你可以试试。

    url:"/Area/Controller/ActionName"(在您的情况下,UpdateInStock 是您的操作名称)
    url:"/Controller/ActionName"

    或者您可以使用 @Url.Actionrazor 语法。
    url:"@Url.Action("ActionName", "Controller")"

    【讨论】:

    • 感谢您的回答,但我尝试了您的两个选项。它没有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2018-10-10
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多