[英]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.