07.07.2012, 14:27 | #1 |
Участник
|
Ax 2012. webSession().redirect
Коллеги, добрый день!
Пытаюсь использовать объект webSession() - перенос функциональности с 4ки. Оказывается, что в старых методах этот объект перестал инициализироваться. Вот пример кода X++: webMenuFunction = new WebUrlMenuFunction(webUrlItemStr(WW_EPMyUrlMenuItem)); link = WebLink::construct(); link.parm("MyParm=XYZ"); link.menufunction(webMenuFunction); webSession().redirect(link); // тут падает (объект не инициализирован) Спасибо. |
|
09.07.2012, 11:32 | #2 |
Участник
|
Посмотрите комментарий в ClassDeclaration класса WebSession:
// Obsolete, Please use AxUrlMenuItem on code behind of target page for redirect scenarios.
__________________
The 50-50-90 rule: Any time you have a 50-50 chance of getting something right, there’s a 90% probability you’ll get it wrong. |
|
10.07.2012, 20:56 | #3 |
Участник
|
То есть "устарел" == "перестал работать"? )) Интересно
|
|
11.07.2012, 12:04 | #4 |
Участник
|
Думаю, в данном случае "obsolete" используется в значении "вышел из употребления". Если посмотреть .NET код то видно, что объект websession в 2012 портале никогда не инициализируется.
__________________
The 50-50-90 rule: Any time you have a 50-50 chance of getting something right, there’s a 90% probability you’ll get it wrong. |
|
27.07.2012, 12:27 | #5 |
Участник
|
Дело в том, что мне необходимо запустить страницу из кода Х++
|
|
30.07.2012, 10:58 | #6 |
Участник
|
Создайте на DataSet метод, который будет возвращать значение параметра для MenuItem. Вызовите этот метод из .NET кода UserControl и сделайте Redirect. Например, вот так:
X++: //C# код private void RedirectToUrl(string UrlMenuItem) { string value = datasource.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("getUrlMenuItemParam") as string; AxUrlMenuItem menuItem = new AxUrlMenuItem(UrlMenuItem); menuItem.ExtraParams.Add("MyParm", value); Response.Redirect(menuItem.Url.OriginalString); }
__________________
The 50-50-90 rule: Any time you have a 50-50 chance of getting something right, there’s a 90% probability you’ll get it wrong. |
|
31.07.2012, 17:17 | #7 |
Участник
|
Да, все верно, так можно сделать из UserControl.
Но кнопа находится на сгенерированной странице типа ListPage. Доступа к .net коду для нее нет. Или может я неправильно готовлю? |
|
31.07.2012, 17:30 | #8 |
Участник
|
Или страницы типа ListPage служат только для некой презентации данных, все кнопки на ActionPane должны вызывать UserConrolPage.
Как в таком случае передать множественный выбор в открывшуюся страницу? Например, такой сценарий: Список конрагентов (ListPage) -> Отмечаем нескольких -> Нажимаем кнопку тулбаре -> Открывается UserControlPage -> На ней инфологом выводим всех выбранных ранее контрагентов |
|
|
|