已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除

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

已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除已删除

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

您可以按如下方式实现

SelectList

List<string> wifiNetworks = new [] { "Local Network", "Customer Network" };
LocalWifis = wifiNetworks.Select(x => new SelectListItem()
{ 
    Text = x,
    Value = x,
    Selected = x == "Local Network"
});

最后记得绑定你的属性。

[BindProperty]
public SelectList LocalWifis { get; set; }

或者您可以选择使用

ViewData
属性装饰它们,并在视图中访问它们,例如
@ViewData["LocalWifis"]

[ViewData]
public SelectList LocalWifis { get; set; }

更新:

您可以按如下方式实施:

using System.Collections.Generic;
using System.Linq;

public class RobotSshModel : PageModel
{
    [BindProperty]
    public string SelectedLocalWifi { get; set; }
    [BindProperty]
    public string SelectedCustomerWifi { get; set; }

    [ViewData]
    public SelectList LocalWifis { set; get; }
    [ViewData]
    public SelectList CustomerWifis { set; get; }

    public void OnGet()
    {
        GetNetworks();
    }

    public void GetNetworks()
    {
        List<string> wifiNetworks = new List<string>() { "Local Network", "Customer Network" };
        CustomerWifis = LocalWifis = wifiNetworks.Select(x => new SelectListItem()
        {
            Text = x,
            Value = x,
            Selected = x == "Local Network"
        });
    }
}

然后在 View 中调用:

@page
@model RobotSshModel

@Html.DropDownListFor(m => m.SelectedLocalWifi, Model.LocalWifis)
@Html.DropDownListFor(m => m.SelectedCustomerWifi, Model.CustomerWifis)

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.