kkakadiya Ответов: 2

Передайте запятую отдельную строку из представления в другой контроллер


Привет,

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

Экс:

У меня есть параметр в представлении /Home/findaContractor и я хочу передать/Postwork / Create Controller

В настоящее время я передаю параметры, как показано ниже:

str='1,2,3,4,5';
window.location.href = "/PostWork/Create?Contrators=" + str;


str= '1,2,3,4,5' - это строка идентификатора (в str может быть больше идентификаторов).

В настоящее время я передаю в querystring, но как я могу передать вместо Querystring? поэтому он не должен отображаться в querystring, и я также получаю строковый параметр на другом контроллере.

Спасибо

Что я уже пробовал:

В настоящее время я передаю параметры, как показано ниже:

str='1,2,3,4,5';
window.location.href = "/PostWork/Create?Contrators=" + str;

Karthik_Mahalingam

ладно, в чем проблема?

kkakadiya

В настоящее время я передаю в querystring, но как я могу передать вместо Querystring? поэтому он не должен отображаться в querystring, и я также получаю строковый параметр на другом контроллере.

Karthik_Mahalingam

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

kkakadiya

Querystring отображает все значения на URL-адресе, и это не хорошо, что мы передаем длинное значение в querystring. кто-то может изменить значение.
Экса-.
http://localhost:25649/PostWork/Create?Контрасты=5,6,18,20096,74,84,89,10082,86,10089,20092,20106

Karthik_Mahalingam

откуда вы это назовете ?
и что он вернет ?

kkakadiya

Я передаю параметр из функции javascript в/Home / findaContractor View в/Postwork / Create Controller, при создании контроллера я получаю значение.

Karthik_Mahalingam

если вы вызовете ajax, то пользователь не увидит url-адрес из браузера.

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

Member 14603564

Решение 1 Правильно

2 Ответов

Рейтинг:
2

Richard Deeming

Если вы не хотите, чтобы значения отображались в строке запроса, вам нужно сделать POST-запрос:

var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "/PostWork/Create");

var contractors = document.createElement("input");
contractors.setAttribute("type", "hidden");
contractors.setAttribute("name", "Contractors");
contractors.setAttribute("value", str);

form.appendChild(contractors);
document.body.appendChild(form);
form.submit();

Ваше действие, очевидно, должно будет принимать запросы POST, а также получать запросы. Если вы еще не добавили [HttpGet] атрибут к действию, он должен просто работать.


Рейтинг:
0

F-ES Sitecore

str='1,2,3,4,5';
window.location.href = "/PostWork/Create?Contrators=" + encodeURIComponent(str);