Если я не ошибаюсь, вам нужно добавить custom:<YOUR_ATTRIBUTE_NAME>
var poolData = {
UserPoolId : <POOL_ID>,
ClientId : <CLIENT_ID>,
};
var userPool = new AWSCognito.CognitoUserPool(poolData);
var attributeList = [];
var dataEmail = {
Name : 'email',
Value : 'email@mydomain.com'
};
var dataPhoneNumber = {
Name : 'phone_number',
Value : '+15555555555'
};
var grandMaName = {
Name : 'custom:grandMaName',
Value : 'granny'
};
var attributeEmail = new AWSCognito.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AWSCognito.CognitoUserAttribute(dataPhoneNumber);
var attributeGrandMaName = new AWSCognito.CognitoUserAttribute(grandMaName);
attributeList.push(attributeEmail);
attributeList.push(attributePhoneNumber);
attributeList.push(grandMaName);
userPool.signUp(userData.Username, userData.Password, attributeList, null, function(err, result){
if (err) {
console.log(err);
return;
}
cognitoUser = result.user;
console.log('user name is ' + cognitoUser.getUsername());
console.log('Now go to Cognito console and confirm the user.')
});
Я использую методы расширения ViewData от MvcContrib, которые добавляют поддержку нескольких моделей со строгим контролем типов (как долго, поскольку они - различные типы). Код, чтобы добавить их к ViewData похож на это:
User currentUser = GetCurrentUser();
List<Project> projectList = projectRepository.GetRecentProjects(currentUser);
ViewData.Add(user);
ViewData.Add(projectList);
Код в представлении для вытаскивания их похож на это:
User user = ViewData.Get<User>();
List<Project> projectList = ViewData.Get<List<Project>>();
Это удаляет и "волшебные строки" и преобразование типа. Отметьте, это ничего не делает со свойством Model представления.
Создайте ОДИН контейнерный класс, навсегда возражают в Вашей системе и используют для всех представлений - простой
Объекты с нулевым значением не имеют никаких реальных издержек
Я имею, столкнулся с той же проблемой. Я думаю, что общее решение для большинства людей состоит в том, чтобы создать контейнерный класс, который содержит модели Books и Authors, которые Вы действительно хотите, и передача что контейнер к Вашему Представлению.
Субоптимальный, да, но это работает. Надо надеяться, это будет обращено в будущих версиях платформы.