gpt4 book ai didi

c# - 为什么我的 DropDownList 中出现 "System.Web.Mvc.SelectListItem"?

转载 作者:可可西里 更新时间:2023-11-01 09:06:11 25 4
gpt4 key购买 nike

我相信我已经正确绑定(bind)了我的数据,但我似乎无法让每个 SelectListItem 的文本属性正确显示。

我的模型:

public class Licenses
{
public SelectList LicenseNames { get; set; }
public string SelectedLicenseName { get; set; }
}

Controller :

[HttpGet]
public ActionResult License()
{
try
{
DataTable LicsTable = BW.SQLServer.Table("GetLicenses", ConfigurationManager.ConnectionStrings["ProfressionalActivitiesConnection"].ToString());
ProfessionalActivities.Models.Licenses model = new ProfessionalActivities.Models.Licenses();
model.LicenseNames = new SelectList(LicsTable.AsEnumerable().Select(row =>
new SelectListItem
{
Value = row["Description"].ToString(),
Text = "test"
}));
return PartialView("_AddLicense", model);
}
catch (Exception ex)
{
var t = ex;
return PartialView("_AddLicense");
}
}

查看:

@Html.DropDownList("LicenseNames", new SelectList(Model.LicenseNames, "Value", "Text", Model.LicenseNames.SelectedValue), new { htmlAttributes = new { @class = "form-control focusMe" } })

最佳答案

使用类型为 SelectListLicenseNames 属性的 Items 属性

@Html.DropDownList("SelectedLicenseName", new SelectList(Model.LicenseNames.Items,
"Value", "Text", Model.LicenseNames.SelectedValue))

或者使用 DropDownListFor 辅助方法

@Html.DropDownListFor(d=>d.SelectedLicenseName, 
Model.LicenseNames.Items as List<SelectListItem>)

因此,当您发布表单时,您可以检查 SelectedLicenseName 属性

[HttpPost]
public ActionResult Create(Licenses model)
{
//check model.SelectedLicenseName
}

关于c# - 为什么我的 DropDownList 中出现 "System.Web.Mvc.SelectListItem"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755862/

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