как получить доступ к скрытому значению поля в приватный метод? - PullRequest
0 голосов
/ 30 октября 2018

У меня приложение mvc по нажатию кнопки. Я изменяю значение скрытого поля, но не могу использовать Request.Form["hiddenfield"] в приватном методе,

есть ли способ его использовать?

Index.cshtml

<input type="hidden" name="hiddenfield" id="hiddenfield" value="true">

            <button type="button" id="stop" class="btn btn-success">

<script>
    if ($('#stop')) {
        $('#stop').click(function (e) {
            document.getElementById('hiddenfield').value = "false";
        });
    }
</script>

HomeController.cs

В приватном методе я хочу, чтобы это измененное значение делало, что я могу делать другие вещи.

 private async Task Process()
        {
//unable to get hidden value using var test= Request.Form["hiddenfield"];

потому что это не метод контроллера. но тогда как проверить это измененное значение скрытого поля?

Как нажатие кнопки, я не могу вызвать какой-либо метод контроллера mvc, потому что для вызова метода требуется timme, поскольку уже выполняется другое выполнение.

Ответы [ 3 ]

0 голосов
/ 30 октября 2018

Среда MVC создает контроллер для каждого запроса и вызывает метод на основе конфигурации маршрутизации.

Вы можете вызвать закрытый метод внутри открытого метода и получить доступ к запросу через HttpContext.Current.Request.

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

0 голосов
/ 30 октября 2018

Вы не можете получить доступ к скрытому полю в приватном методе в MVC (насколько я знаю).

Вам потребуется создать публичное действие в контроллере, чтобы опубликовать обновленное значение (скрытое поле). Затем из действия контроллера вы можете получить доступ к приватному методу.

Что-то вроде:

public ActionResult Update(bool hiddenField)
{
    // do something with hiddenField and call private method Process()
}
0 голосов
/ 30 октября 2018

Чтобы увидеть значение на сервере, я бы использовал Html помощник

@Html.HiddenFor(model => model.SomeId, new { @id = "hfSomeId" })

или

@Html.Hidden("hfSomeId", someValue, new { @id = "hfSomeId" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...