Можно ли установить значение сеанса в jquery и получить это значение в методе постпользователя контроллера без использования какого-либо вызова ajax. Я пытаюсь установить одно значение списка для сессии в jquery
$.session.set('SelectedIdList', selectedIds);
теперь хочу получить эти значения в методе post post
public ActionResult SaveTransactions(BusinessViewModel model, string Submit)
{
model.SelectedIdsList = (string[])Session["SelectedIdList"];
}
Я удалил сеанс из своего кода. Я взял одно скрытое поле и зациклил его и сохранил значение с помощью ",", которое я получаю в контроллере
$("#hdnSelectedIdList").val("");
for (var iCount = 0; iCount < SelectedIdList.length; iCount++) {
$("#hdnSelectedIdList").val($("#hdnSelectedIdList").val() + ',' + SelectedIdList[iCount]);
}
@Html.HiddenFor(m=>m.hdnSelectedIdList)
и в контроллере
model.SelectedIdsList = model.hdnSelectedIdList[0].Split(',');
вы не можете установить в jquery, поскольку Session - это серверная вещь.
вам нужно отправить вызов ajax, если это действительно необходимо:
$.ajax({
url: '@Url.Action("SetSession","Controller")',
data {session:1},
success: function (response) {
},
error: function () {
alert("Error occured!");
}
});
В бою:
[HttpGet]
public Action Result SetSession(string session)
{
Session["key"] = session;
}
Вы не можете устанавливать и извлекать так, так как обе данные поддерживаются в другом месте. Один находится в браузере, а другой - на сервере.
Предоставляет простой интерфейс в window.sessionStorage, предоставляя ограниченную поддержку кросс-протокольных запросов.
Сессия ASP.Net
Это в основном поддерживается на стороне сервера.