从代码填充 Razor SelectList(无数据库)

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

我有一个名为 RobotSsh.cshtml 的简单 Razor 页面,其模型名为 RobotSsh.cshtml.cs。

我试图在页面加载时填充两个下拉菜单:LocalWifis 和 CustomerWifis,但没有任何反应。

这是我的 Razor 页面 (RobotSsh.cshtml):

@model App.Views.Home.RobotSsh

<!DOCTYPE html>

<html>
<head>
    <title></title>
</head>
<body>
    <h1>Supportinator 3000</h1>
<div>
    <select asp-for="LocalWifis" [email protected]></select>
    <select asp-for="CustomerWifis" [email protected]></select>
</div>
</body>
</html>

这是我的模型(RobotSsh.cshtml.cs):

public class RobotSsh : PageModel
{
    public SelectList LocalWifis { set; get; }
    public SelectList CustomerWifis { set; get; }

    public void OnGet()
    {
        GetNetworks();
    }
    
    public void GetNetworks()
    {
        List<string> wifiNetworks = ["Local Network", "Customer Network"];
        
        LocalWifis = new SelectList(wifiNetworks, wifiNetworks[0]);
        CustomerWifis = new SelectList(wifiNetworks, wifiNetworks[0]);
    }
}

我已经从剃刀页面中删除了@page标签,因为它给了我这个问题:@page问题

c# asp.net-mvc asp.net-core razor razor-pages
1个回答
0
投票

我使用 RazorPages 项目测试了您的代码。您所需要的只是正确的型号参考。您正在使用

@model App.Views.Home.RobotSsh
。但对于 RazorPages,您应该使用
@model RobotSshModel
。 Index.cshtml 的语法为“IndexModel”,Error.csthml 的语法为“ErrorModel”...等等。例如:

@page
@model WebApplication159.Pages.RobotSshModel
<!DOCTYPE html>
...

© www.soinside.com 2019 - 2024. All rights reserved.