簡體   English   中英

用數據庫MVC 4 Razor中的數據填充DropdownList

[英]Fill DropdownList with data from database MVC 4 Razor

嗨,作為問題,我有3個不同的表,其中有數據。

第一個表(類型):

id    type
1     Day
2     Month
3     Year

第二張表(服務器):

server
Europe
Asia
North America
South America

第三表(狀態)

status
Error
Verified

我必須創建一個具有3個所需的下拉菜單的日志,我認為如果以后將使用數據庫中的數據進行dropdrop菜單,則更新和獲取更多信息會變得越來越容易。

這是我的AddLogModel

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個單獨的下拉列表中。 我無法更改表布局,因此獲得了該數據庫。 您還可以顯示視圖的外觀嗎? 我真的很感激!

標題

有一個像

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM