يتم إعادة تعيين القيم إلى الصفر

1

أنا أقوم بالإدراج عبر البريد ، لكن صفي يحصل على قيم صفرية.

يتم تمرير قيم المدخلات عبر متغير ويتم عرضها بشكل صحيح ، ولكن في لحظة العمل عبر البريد تأتي بقيم صفرية.

الشيء الأكثر إثارة للاهتمام هو إذا قمت بكتابة داخل الإدخال ، فإن القيم تأتي بشكل صحيح.

<form method="post">
        <div class="col-sm-3">
            <label>SALDO</label>
            <div style="border:1px solid #bbb9b9; border-radius:3px;"></div>
            <br />
            <div class="form-group">
                <label asp-for="Caixas.ValorFinalDinheiro" class="control-label"></label>
                <input asp-for="Caixas.ValorFinalDinheiro" name="Caixas.ValorFinalDinheiro"  id="Caixas.ValorFinalDinheiro" class="form-control finalFundo"  disabled="disabled" />

            </div>
            <div class="form-group">
                <label asp-for="Caixas.ValorFinalCheque" class="control-label"></label>
                <input asp-for="Caixas.ValorFinalCheque" class="form-control finalFundo"  disabled="disabled"/>

            </div>
            <div class="form-group">
                <label asp-for="Caixas.ValorFinalBoleto" class="control-label"></label>
                <input asp-for="Caixas.ValorFinalBoleto" class="form-control finalFundo"  disabled="disabled" />

            </div>
            <div class="form-group">
                <label asp-for="Caixas.ValorFinalCartao" class="control-label"></label>
                <input asp-for="Caixas.ValorFinalCartao" class="form-control finalFundo"  disabled="disabled" />

            </div>
            <div class="form-group">
                <label asp-for="Caixas.ValorFinalDeposito" class="control-label"></label>
                <input asp-for="Caixas.ValorFinalDeposito" class="form-control finalFundo" disabled="disabled"  />

            </div>
            <div class="form-group">
                <label asp-for="Caixas.ValorFinal" class="control-label"></label>
                <input asp-for="Caixas.ValorFinal" class="form-control" style="background-color:#9FF781"   />

            </div>
        </div>
        <div class="col-sm-12">
            <div class="form-group">
                <input type="submit" value="Confirmar o Fechamento do Caixa" class="btn btn-primary btn-sm"  />
                <a asp-page="Index" class="btn btn-success btn-sm">Retorna ao Caixa</a>
            </div>
        </div>
    </form>

وجهاز التحكم

[BindProperty]
public Caixas Caixas { get; set; }

public async Task<IActionResult> OnPostAsync()
{
    var C = _context.Caixas.Find(Caixas.Id);
    C.fechado = true;
    C.DataFinal = DateTime.Now;
    C.HoraFinal = DateTime.Now;
    C.FuncionarioFechamentoId = _userManager.GetUserId(HttpContext.User);
    C.ValorFinalDinheiro = Caixas.ValorFinalDinheiro;
    C.ValorFinalCheque = Caixas.ValorFinalCheque;
    C.ValorFinalBoleto = Caixas.ValorFinalBoleto;
    C.ValorFinalCartao = Caixas.ValorFinalCartao;
    C.ValorFinalDeposito = Caixas.ValorFinalDeposito;
    C.ValorFinal = Caixas.ValorFinal;

    C.ValorSaida = Caixas.ValorSaida;

    await _context.SaveChangesAsync();
    return RedirectToPage("./Index");
}

2 الاجابة

2
افضل جواب

في الواقع ، يجب ألا تقدم جميع المتصفحات المدخلات المعطلة.

بعد هذا

In this example, the INPUT element is disabled. Therefore, it cannot receive user input nor will its value be submitted with the form.

<INPUT disabled name="fred" value="stone">

أنا لا أعرف لماذا لديك شكل مثل هذا. ولكن للتغلب على هذا الوضع ، يمكنك إضافة <input type="hidden"> عنصر بنفس الاسم ونفس القيمة مثل الإدخال المعطل. وأرسل القيمة POST طلب.

:مؤلف
0

حاول استخدام التعليقات التوضيحية للبيانات "HttpPost" قبل طريقتك. مثله:

[HttpPost]
public async Task<IActionResult> OnPostAsync()
{
  ...
}
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام