Как получить доступ к локальному хранилищу браузера со стороны сервера ASP. NET Core 3.1 MVC - PullRequest
2 голосов
/ 04 августа 2020

В моем браузере есть локальное хранилище значений ключей, как показано на изображении ниже. Я хочу получить эту информацию с помощью ASP. NET Core MVC. Получив его, я мог бы использовать его, например, для сохранения в базе данных для дальнейшего использования.

Как мне получить доступ к этой информации с помощью ASP. NET Core 3.1 MVC?

Local Storage in browser

//ADDITIONAL INFORMATION// Based on the two answers (Nadeem and Abdelrahman), I did check on this and somehow I think the best way would be to go with Ajax. In another post in Stackoverflow: Передача локального хранилища контроллеру с использованием Ajax

Я вижу пример, как показано ниже:

function sendLocalStorage() {

var JsonLocalStorageObj = JSON.stringify(localStorage);
//var test = ["test1", "test2", "test3"];

$.ajax({
    url: "/MyControllersName/Test",
    type: "POST",
    data: { JsonLocalStorageObj: JsonLocalStorageObj },
    success: function (result) {
        alert(result);
    }
});
}

Интересно, как в этой функции вы можете определить, какое значение localstorage вы разместите? Я имею в виду, как вы выбираете ключ для значения, которое вы хотите опубликовать?

Во-вторых, поскольку серверное приложение использует идентификатор EF, я предполагаю, что с этим запросом должна быть опубликована некоторая безопасность. Я проверил инструменты разработчика браузера, у меня есть ie, как показано ниже. Должна ли функция публиковать какую-либо информацию об этом?

Повар ie на основе объекта EF

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Думаю, ты не сможешь. Вся суть локального хранилища в том, что оно локальное и управлять им можно только из javascript. Если вам нужно передавать значения между сервером и клиентом, вам необходимо использовать некоторые транспортные технологии - куки, ajax звонки, скрытые поля и c. Все будет зависеть от того, как организовано ваше приложение, какая информация хранится, ее объем, хотите ли вы перенаправить или нет, но во всех случаях это должно быть сделано с использованием javascript, поскольку это единственный способ доступа к данным. хранится в localStorage

1 голос
/ 04 августа 2020

Вы не можете получить его при начальной загрузке страницы, что похоже на то, что вы хотите сделать. Помните, как работают веб-серверы и клиенты.

Сначала выполняется серверная часть, а затем полученный HTML / CSS / JS отправляется клиенту. Следовательно, вы не можете получить значения со стороны клиента JavaScript до начальной загрузки страницы. Альтернативой является сохранение информации в:

  1. cook ie (ограничено по размеру и структуре)
  2. AJAX
  3. Отправка данных в скрытом поле во время полной обратной передачи.

для обратной связи с сервером.

https://stephenwalther.com/archive/2011/01/12/asp-net-and-html5-local-storage

...