Невозможно присвоить значение модели параметру на бритвенных страницах - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть код страницы бритвы, который я использую для отображения страницы.

public class RegisterModel : PageModel
{

    [BindProperty]
    public InputModel Input { get; set; }

    public string Test {get; set;}
    public class InputModel
    {        
        public List<SelectListItem> QList { get; set; }
    }

    public void OnGet()
    {
        Helper helper = new Helper(_logger, _context);
        var Test = helper.GetTestString();
        var saltyList = helper.GetAllApples();

        Input.QList = saltyList;
    }
}

Переменная saltyList имеет 15 значений.Но я получаю сообщение об ошибке:

{System.ExecutionEngineException: было сгенерировано исключение типа 'System.ExecutionEngineException'.}

Я что-то упустил?Разве невозможно присвоить значение в методе Get или я что-то упустил? Есть ли проблема с точки зрения того, что я не инициализировал Input.Qlist для чего-либо до присвоения значения?Тест работает нормально, но не в назначении InputModel.

1 Ответ

0 голосов
/ 08 декабря 2018

Вам необходимо присвоить значение Input в методе OnGet.Примерно так:

public void OnGet()
{
    Helper helper = new Helper(_logger, _context);
    var Test = helper.GetTestString();
    var saltyList = helper.GetAllApples();

    Input = new InputModel
            {   
                QuestionList = questionList
            };
}

Если вы хотите связать значение в Get, как у вас, вам, возможно, придется использовать SupportGet = true для Bindproperty.

[BindProperty(SupportGet=true)]
public InputModel Input { get; set; }

Вы можетеПодробнее об этом здесь

...