ASP.Net MVC Post: пары ключ-значение - невозможно получить значение - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть коллекция форм (fc), и я пытаюсь добавить к электронному письму значения «ключа» и «значения». У меня нет проблем с ключом (newKey), но я не могу правильно кодировать значение. Цикл 'for' проверяет, являются ли первые 3 символа клавиши 'ddl', что указывает на то, что это из выпадающего списка. если это так, цикл должен добавить значение из элемента управления dropdownlist (значение пары ключ-значение). (Если нет, цикл вызывает другой метод для добавления либо да, либо нет на основе значения элемента управления флажка) Заранее спасибо.

       //Append new key-value pairs implemented since legacy keys
        for (int i = 0; i < newKeys.Length; i++ )
        {

            //Checks for prefix of element to determine type of element
            if(newKeys[i].Substring(0,3) == "ddl"){
                sb.Append(newKeys[i] + ":  " + fc.GetValue(newKeys[i]) + "\",<br />");
                sb.Append(newKeys[i] + ":  " + fc.GetValues(newKeys[i].ToString())  + "\",<br />");
            }
            else{
            sb.Append(newKeys[i] + ",\"" + Boolean(fc[newKeys[i]]) + "\",<br />");
            }
        }

Команды 2 sb.append возвращают следующее:

ddlStratacacheConstellationManagerRole: System.Web.Mvc.ValueProviderResult " ddlStratacacheConstellationManagerRole: System.String [] ",

1 Ответ

0 голосов
/ 15 ноября 2011

Значения, которые вы пишете, не относятся к типу String и не имеют переопределенного метода ToString().

Именно поэтому вызывается стандартный метод object.ToString(), а к строке добавляется имя типа объекта.

Чтобы исправить это, необходимо либо переопределить метод ToString() для всех возможныхсформировать значения коллекции или придумать какой-нибудь другой алгоритм, который будет перебирать коллекции и выводить соответствующие значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...