gpt4 book ai didi

c# - 使用数据库 MVC 4 Razor 中的数据填充 DropdownList

转载 作者:行者123 更新时间:2023-11-29 21:37:27 24 4
gpt4 key购买 nike

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

第一个表(类型):

id    type
1 Day
2 Month
3 Year

第二个表(服务器):

server
Europe
Asia
North America
South America

第三个表(状态)

status
Error
Verified

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

这是我的 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; }


}
}

和我的主 Controller :

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 个单独的下拉列表中。我无法更改表格布局,我得到了这个数据库。您能否也展示一下 View 的外观?对此,我真的非常感激!

标题

最佳答案

有一个像这样的模型

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

在你的 Controller 中,你可以获取服务器列表并将其传递给 View

    [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);
}

在 View 中获取下拉列表

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

型号是 @model IEnumerable<Models.Server>

关于c# - 使用数据库 MVC 4 Razor 中的数据填充 DropdownList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com