Select 默认值抛出异常 asp.net c#

Select default value throws an exception asp.net c#

我正在开发一个学校项目(使用 c#,asp.net),该项目从具有 selects 的视图和其他输入(日期和文本)接收数据输入,从这个视图:

View that receive data

有这个代码,日期的输入(2个)

<input id="Inicial" type="date" name="Inicial" />

这是第一个select

<select asp-for="AcessoVisita" class="form-control">
                        <option value="null">Escolha uma opção para o filtro</option>
                        <option value="acessos">Número de Acessos</option>
                        <option value="visitas">Número de Visitas</option>
                    </select>

另一个select是

<select asp-for="tempo" class="form-control">
                        <option value="null"> Escolha uma opção para o filtro </option>
                        <option value="day"> Dia </option>
                        <option value="month"> Mês </option>
                        <option value="year"> Ano </option>
                    </select>

最后一个 select 是,我使用 foreach cicle 为我拥有的所有“Aps”创建选项。

<select asp-for="ap" class="form-control">
                            <option value="null"> Escolha um Ap ou todos</option>
                            <option value="todos"> Todos os AP's' </option>
                            @foreach(var i in Model.Aps)
                            {
                                <option value=@i.ap_id> @i.ap_name </option>
                            }
                        </select>

这就是他的模型和变量

public class dadosPassar
    {
        public List<L_AccessPoint> Aps { get; set; }

        public DateTime Inicial { get; set; }
        public DateTime Final { get; set; }
        public string? AcessoVisita { get; set; }
        public string? ap { get; set; }
        public string? tempo { get; set; }
    }

这就是 L_AcessPoint 结构

    public class L_AccessPoint
    {

        public string? ap_name { get; set; }
        public short? zone_id { get; set; }
        public decimal? latitude { get; set; }
        public decimal? longitude { get; set; }
        public string? ap_eth_mac { get; set; }
        public DateTime ts { get; set; }
        public short? ap_id { get; set; }
        public Byte? type { get; set; }
        public bool? Active { get; set; }

    }

我已经测试了当我让一些输入值成为默认值时会发生什么,代码会抛出以下异常: Exception throwed

那是来自数据库的 return Database return 我可以验证是否所有其他变量都没有默认值,但在最后一个 select 中抛出异常,我不知道为什么。

那么我做错了什么? 我怎样才能做到这一点?

非常感谢您的帮助。

我遇到的问题是因为我忘记将模型传递给视图。 我正在渲染这样的视图。

if(ds.Inicial >=ds.Final || ds.AcessoVisita == "null" || ds.tempo == "null" || ds.ap== "null")
            {
                return View("Filtros");
            }

所以我解决了通过视图传递 dp 的问题

if(ds.Inicial >=ds.Final || ds.AcessoVisita == "null" || ds.tempo == "null" || ds.ap== "null")
            {
                dadosPassar dp = new dadosPassar();
                var objAPs = _db.L_AccessPoint.ToList();
                dp.Aps = objAPs;
                return View("Filtros", dp);
            }