Подсчитать кол-во символов в поле карточки

Карточка - Contact
Поле этой карточки - ITNumber

При нажатии на ОК пишу:

var length = Contact.ITNumber.ToString().Length;
if (length >10)
{
//то здесь выводится сообщение пользователю, и к закрытию карточки процесс не идет
}
else
{
//то здесь продолжается процесс закрытия карточки
}

правильно ли?

Нравится

7 комментариев

Нет.
Посмотрите в любой карточке, как правильно получать значение поля.

Значение поля:
var number = (Guid)Page.ITNumberEdit.Value;

А как подсчитать кол-во символов?:
string str = ?

int length = str.Length;

далее сравниваю кол-во символов if (length <>10)....else

Татьяна, зачем Вы пишете:

var number = (Guid)Page.ITNumberEdit.Value;

У Вас номер типа Guid?

точно, мне не нужно определение идентификатора. ITNumber- это обычное поле (целочисленное), к-ое заполняется (а не выбирается из справочника) пользователем.

Page.DataSource.ActiveRow.GetTypedColumnValue("ITNumber") - это значение поля.
string str = ?
int length = str.Length;
далее сравниваю кол-во символов if (length <>10)....else

Это значит, что ошибка в написанном Вами коде.
Посмотрите в других местах, как правильно работать с этой функцией.

вот так сработало без ошибок:

string str = Page.ITNumberEdit.Value.ToString();
int length = str.Length;
if ((Page.ITNumberEdit.Value != null)&&(length != 10))
{
Page.BaseMessagePanel.AddMessage(Warning, "Количество символов в поле Внутр.инвент.номер (ИТ) должно быть равно 10.", MessageType.Warning);
Page.ITNumberEdit.Clear();
Page.ITNumberEdit.SetRequired(true);
return false;
}
else
{
....

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