传递的值不保留

问题描述 投票:0回答:1

非MVC!

大家好,

我在做什么错在这里...

我试着但是价值不被保留通过从剃刀页(得分/ Create.cshtml)到另一个页面(/Scores/Index.cshtml)的使用onGET方法的onPOST等方法整数值,我要么收到null或取决于我怎样发送整数检查值在使用onGET方法的ID时0。

我知道我这样做的另一个网页上这个工程使用的路线

<a asp-page="/Scores/Index" asp-route-id="@item.ElementId">Update scores</a> 

我试图从一个实体属性传递值像在下面的代码例如,来自的ViewData变量,还从一个本地创建整数,最后只是路过一个整数值本身。在所有情况下的值是onPOST等正确的,但从来没有得到的使用onGET。

该onPOST等

    public async Task<IActionResult> OnPostAsync()
    {
        if (!ModelState.IsValid)
        {
            return Page();
        }

        _context.TScores.Add(TScores);
        await _context.SaveChangesAsync();

        return RedirectToPage("./Index","OnGet",TScores.ElementId);
    }

在使用onGET

    public async Task OnGetAsync(int? id)
    {  
            TElements telement = new TElements();

            telement =  _context.TElements.Where(a => a.ElementId == id).FirstOrDefault();

我也试过没有在RedirecttoPage设置使用onGET方法名

我期待得到在使用onGET匹配从onPOST等通过Scores.Element ID id的值。

提前致谢

d

asp.net-core parameter-passing razor-pages
1个回答
1
投票

参数需要的对象,路由值的具体的匿名对象;它不知道如何处理一个int做。

return RedirectToPage("./Index", new { id = TScores.ElementId });
© www.soinside.com 2019 - 2024. All rights reserved.