Добрый день.
У меня такая проблема в «Страница реестра подчиненных договоров» рисунок process1.png нажимаю кнопку открывается страница «Страница Запрашиваемая сумма транша» process2.png, на этой страничке проводится некая операция и нажимается кнопка «Ок» или «Отмена» после закрывается страничка и передается булевой параметр со значением, значение с булевого параметра я должен получить в «Страница реестра подчиненных договоров», пытался получить следующим образом, выдает ошибку на какой та Key ругается, кусок кода:
string defValuesId = (string)Page.GetParameterValue("defValuesId");
var parameters = UserConnection.UserContext[defValuesId] as Dictionary;
if (parameters.ContainsKey("IsNextRunProcess"))
IsNextRunProcess = Convert.ToBoolean(parameters["IsNextRunProcess"].ToString());
return true;

Заранее спасибо.

Нравится

3 комментария

У Вашей страницы есть список значений по умолчанию (это, скорее всего, страница какой-то детали), а при открытии страницы из БП, Этих параметров НЕТ. Вам нужно в скрипте, при установке параметров открытия страницы указать в словаре значение "defValues".

Здравствуйте, Баглан!

Обратите внимание, если Вы находитесь на странице, то вычитывать UserConnection лучше из страницы.

Кроме того, когда Вами получается Dictionary, и вы хотите обращаться к его элементам в формате ключ/значение, это надо явно указывать при приведении типа. Пример кода:

	string defValuesId = Page.Request.QueryString["defValuesId"].ToString();
	var parameters = Page.UserConnection.UserContext[defValuesId] as Dictionary<string, object>;
	if (parameters.ContainsKey("IsNextRunProcess"))
	IsNextRunProcess = Convert.ToBoolean(parameters["IsNextRunProcess"].ToString());
	return true;

Спасибо Коллеги, у меня получилось следующим образом:
var parameters = UserConnection.UserContext[DefValuesKey] as Dictionary;
if (parameters.ContainsKey("IsNextRunProcess")) {
IsNextRunProcess = Convert.ToBoolean(parameters["IsNextRunProcess"].ToString());
};
return true;

Оказывается ошибка выходила из-за того что я забыл включит галочку «Сериализировать значение» в параметре DefValuesKey

Показать все комментарии