Используя две модели со строгим контролем типов для одного представления MVC

Если я не ошибаюсь, вам нужно добавить 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.')
});
5
задан Chad Moran 25 March 2009 в 20:14
поделиться

3 ответа

Я использую методы расширения 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 представления.

3
ответ дан 15 December 2019 в 01:11
поделиться

Создайте ОДИН контейнерный класс, навсегда возражают в Вашей системе и используют для всех представлений - простой

Объекты с нулевым значением не имеют никаких реальных издержек

1
ответ дан 15 December 2019 в 01:11
поделиться

Я имею, столкнулся с той же проблемой. Я думаю, что общее решение для большинства людей состоит в том, чтобы создать контейнерный класс, который содержит модели Books и Authors, которые Вы действительно хотите, и передача что контейнер к Вашему Представлению.

Субоптимальный, да, но это работает. Надо надеяться, это будет обращено в будущих версиях платформы.

0
ответ дан 15 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: