簡體   English   中英

無法在剃刀頁面中將模型值分配給參數

[英]Not able to assign model value to a parameter in razor pages

我有一個剃刀頁面代碼,用於顯示頁面。

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分配卻沒有。

您需要在OnGet方法中分配Input的值。 像這樣的東西:

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

    Input = new InputModel
            {   
                QuestionList = questionList
            };
}

如果要像執行操作一樣綁定Get中的值,則可能必須對Bindproperty使用SupportGet = true。

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

您可以在這里了解更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM