Не удается передать значение из представления в контроллер с помощью jquery POST в MVC 5

За кулисами компилятор генерирует класс, который представляет собой замыкание для вызова метода. Он использует этот единственный экземпляр класса закрытия для каждой итерации цикла. Код выглядит примерно так: это облегчает просмотр ошибки:

void Main()
{
    List<Func<int>> actions = new List<Func<int>>();

    int variable = 0;

    var closure = new CompilerGeneratedClosure();

    Func<int> anonymousMethodAction = null;

    while (closure.variable < 5)
    {
        if(anonymousMethodAction == null)
            anonymousMethodAction = new Func<int>(closure.YourAnonymousMethod);

        //we're re-adding the same function 
        actions.Add(anonymousMethodAction);

        ++closure.variable;
    }

    foreach (var act in actions)
    {
        Console.WriteLine(act.Invoke());
    }
}

class CompilerGeneratedClosure
{
    public int variable;

    public int YourAnonymousMethod()
    {
        return this.variable * 2;
    }
}

На самом деле это не скомпилированный код из вашего примера, но я изучил свой собственный код и этот очень похоже на то, что на самом деле генерирует компилятор.

0
задан shreyas35 5 March 2019 в 16:27
поделиться

1 ответ

Проблема с этим кодом

 $('#SIId').change(function () {
   $('.addQty').click(function () {
      $.post("@Url.Action("AddQuantity", "PurchaseOrder")", { id: $(this).data('posid'), Qty: $('#qty').val(), Siid: $("select option:selected").val() })
       });   
  });

Здесь вы регистрируете событие click для кнопки на событии onChange в DropDownList, что нормально, но это не так triggers click событие этого button и, следовательно, никакого вызова post не происходит, вам нужно click на button выполнить вызов post. кроме того, что все выглядит хорошо, я попробовал это, и он публикует данные.

Надеюсь, это поможет, или дайте мне знать, если я что-то здесь упустил ... Удачного кодирования ...

0
ответ дан Abhinaw Kaushik 5 March 2019 в 16:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: