使用数据库 MVC 4 Razor 中的数据填充下拉列表

本文关键字:数据 填充 下拉列表 Razor 数据库 MVC | 更新日期: 2023-09-27 18:30:41

您好,因为问题指出我有 3 个不同的表,其中包含数据;

第一个表(类型):

id    type
1     Day
2     Month
3     Year

第二个表(服务器):

server
Europe
Asia
North America
South America

第三个表(状态)

status
Error
Verified

我必须创建一个包含 3 个下拉菜单的日志,我认为如果以后使用数据库中数据的下拉菜单更新更多信息会越来越容易。

这是我的添加日志模型

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace ReviewLogs.Models
{
    public class AddLogModel
    {
        [Display(Name = "Type: "),
        Required(ErrorMessage = "Required")]
        public List<string> type { get; set; }
        [Display(Name = "Server: "),
        Required(ErrorMessage = "Required")]
        public List<string> server { get; set; }
        [Display(Name = "Status: "),
        Required(ErrorMessage = "Required")]
        public List<string> status { get; set; }

    }
}

和我的主控制器:

public ActionResult AddLogReview(AddLogModel model)
    {
        if (Request.IsAuthenticated)
        {

            if (ModelState.IsValid)
            {
                using (var db = new reviewlogsEntities())
                {

                }
            }
            else
            {
                //Honestly I don't think this will ever be hit but lets just be safe
                ModelState.AddModelError("", "Required Data Not Filled In");
            }
            return View(model);
        }
        else
        {
            return RedirectToAction("index", "home");
        }
    }

我将如何将数据库中的 3 个表信息获取到 3 个单独的下拉列表中。我无法更改表格布局,我得到了这个数据库。您能否也展示一下视图的外观?我真的很感激!

标题

使用数据库 MVC 4 Razor 中的数据填充下拉列表

有一个模型,比如

public class Server
{
    [Display(Name = "Server: ")]
    [Required(ErrorMessage = "Required")]
    public string server { get; set; }
}

在控制器中,您可以获取服务器列表并将其传递给查看

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Index()
    {
        List<Models.Server> serverList = new List<Models.Server>()
        {
            new Server {server = "abc"}, 
            new Server {server = "xyz"}, 
            new Server {server = "def"}
        };
        return View(serverList);
    }

查看获取下拉列表

    @Html.DropDownListFor(model => model.Select(s => s.server), 
                            Model.Select(s => new SelectListItem
                            {
                                 Text = s.server, Value = s.server
                            }))

@model IEnumerable<Models.Server>模型的位置