Параметр, показывающий NULL в обработчике Get in. net core 3 - PullRequest
0 голосов
/ 20 апреля 2020

Я работаю над приложением с требованием извлечь данные из sql серверной БД и показать их на странице. Я очень новичок в. net core 3. До сих пор я мог получать свои данные и показывать их с использованием данных. Я тестировал с жестко закодированным значением. Теперь, когда я пытаюсь отправить строку поиска из внешнего интерфейса, значение приходит как ноль. Я не уверен, где я иду не так в этом.

Это мой код до сих пор -

Get Data logi c -

public async Task<IActionResult> OnGetDataMatrix(string SearchString)
        {
            if (!string.IsNullOrEmpty(SearchString))
            {

                var res = await _dbContext.DbSetModel.Where(x => x.SQuery.Contains(SearchString)).ToListAsync();
                foreach (var item in res)
                {
                    MyViewModel cmVm = new MyViewModel
                    {
                        // Mapping ViewModel data with "res" data
                    };
                    VMList.Add(cmVm); // creating a list with Viewmodel
                }


            }
            return new JsonResult(new { data = cmVMList });
        }

Это пользовательский интерфейс - ---------- ----------------------------

<form method="post">
            <div class="col-xs-10">
                <div class="form-group mr-2">
                    <div class="input-group">
                        <input type="text" id="srchTxt" name="SearchString" class="form-control" />
                        <label id="lblStxt" style="visibility:hidden; color:red"></label>
                    </div>
                </div>
            </div>
            <div class="col-xs-2">
                <div class="form-group">
                    <button type="submit" class="btn btn-sm btn-primary">Get Data</button>
                </div>
            </div>

        </form>

Я запускаю Get Handler все, что открывается на странице. Но не может передать этот параметр этому методу. Я уверен, что это просто. Даже проверил несколько форумов. Не сработало. Я не пробовал JS, хотя. Я думаю, что если это возможно из части HTML, тогда нет необходимости использовать JS.

1 Ответ

1 голос
/ 20 апреля 2020

Контроллеры работают с данными, полученными из HTTP-запросов. По умолчанию устанавливается значение ключ-значение пар. Вы можете изменить источник, указав источник. добавив атрибут [FromForm] , который можно указать для чтения данных из формы.

[HttpPost]
public async Task<IActionResult> OnGetDataMatrix([FromForm] string SearchString)

Надеюсь, это поможет

...