首页 > 解决方案 > 如何用下拉列表过滤,我迷路了。ASP.NET

问题描述

我有一个新的挑战,我想通过下拉列表在 MVC 中执行过滤,我尝试基于此站点构建我的控制器和视图https://www.aspsnippets.com/Articles/Filter-Data-using-DropDownList- in-ASPNet-MVC.aspx,但我不明白为什么要使用两个模型,而且我知道视图会与 webGrid 的 mvc 不同,但我仍然可以享受代码的某些部分,对吗?有知识的人可以指导我吗?

哦,除此之外,我打算由 DateTime 完成过滤,我知道我将永远被困在这里面 :)

我的模型:

public Nullable<System.DateTime> Data_Registo { get; set; }

public List<SelectListItem> Datas { get; set; }

我的控制器:

public ActionResult Index(string listData)
    {
        Programa model = DataModel(listData);
        return View(model);
    }

    private static Programa DataModel(string listData)
    {
        using (BaluEntities entities = new BaluEntities())
        {
            Programa model = new Programa()
            {
                
                Datas = (from c in entities.Programa
                             select new SelectListItem { Text = c.Data_Registo, Value = c.Data_Registo }).Distinct().ToList()
            };

            return model;
        }
    }

我的观点:

<div class="col-md-4">
<form asp-controller="ShowProgramas" asp-action="Index" method="post" role="form">
    <div class="form-group">
        <div class="alert-danger" asp-validation-summary="ModelOnly"></div>
        <label asp-for="ID_Programa"></label>
        <select asp-for="ID_Programa"
                class="form-control"
                asp-items="@(new SelectList(Model.ListofDatas,"Value", "Text"))">
        </select>
    </div>
    <div class="form-group">
        <input id="Submit1" class="btn btn-success" type="submit" value="submit" />
    </div>
</form>

有人可以在网页或教程上给我建议吗?谢谢

标签: c#asp.netasp.net-mvc

解决方案


我的控制器:

var listSer = from d in db.Database
                      orderby d.Date
                      select d.Date;
        var servlist = listSer.Distinct();
        ViewBag.startServ = new SelectList(servlist);

推荐阅读