gpt4 book ai didi

c# - 如何在 Html.DropDownListFor 上选择显示的文本

转载 作者:太空宇宙 更新时间:2023-11-03 23:44:03 25 4
gpt4 key购买 nike

我如何为某种类型选择在 Html.DropDownListFor 中显示的属性?

例如,我有以下类,我想从中选择值

public partial class Artysta
{
public Artysci()
{
this.SpektaklArtysta = new HashSet<SpektaklArtysta>();
}

[Key]
public int ArtystaID { get; set; }

public string Imie { get; set; }

public string Nazwisko { get; set; }
}

这是为编辑 View 生成的代码,它有时显示 Imie 并且不时显示 Nazwisko

@using (Html.BeginForm())
{
@model Teatr.Models.SpektaklArtysta
<div class="form-group">
@Html.LabelFor(model => model.ArtystaID, "Artysta", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("ArtystaID", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.ArtystaID, "", new { @class = "text-danger" })
</div>
</div>
}

我想将 displayed 属性设置为 Nazwisko,我该如何实现?

更新:

这是生成此 View 的实际模型。

public partial class SpektaklArtysta
{
public int SpektaklID { get; set; }

public int ArtystaID { get; set; }

public int RolaArtystyID { get; set; }

[Key]
public int SpektaklArtystaID { get; set; }

public virtual Artysci Artysci { get; set; }

public virtual RolaArtysty RolaArtysty { get; set; }

public virtual Spektakle Spektakle { get; set; }
}

最佳答案

好的,您实际上需要将一个可能值列表传递给下拉列表,例如:

@Html.DropDownListFor(model => model.ArtystaID, new SelectList(Model.Artysci, "ArtystaID", "Nazwisko", 0))

它说:DropDownList 设置模型 ArtystaID 字段,由模型 Artysci 字段填充,该字段应该包含在 ArtystaID 字段下具有键并在 Nazwisko 下显示文本的项目> 字段(因此,您的 Artysta 类)。

现在,您的类(class)没有 Artysci 字段,因此您必须创建它:

public partial class Artysta
{
public Artysci()
{
this.SpektaklArtysta = new HashSet<SpektaklArtysta>();
}

[Key]
public int ArtystaID { get; set; }

public string Imie { get; set; }

public string Nazwisko { get; set; }

public List<Artysta> Artysci = ArtistRepository.GetAllArtists();
}

或者直接在DropDownList中传递:

@Html.DropDownListFor(model => model.ArtystaID, new SelectList(ArtistRepository.GetAllArtists(), "ArtystaID", "Nazwisko", 0))

哦,还有一点个人注意:我知道这可能不是你的选择,除非你是首席/独家开发人员,但请为你的类、变量等使用英文名称,如果将来会更容易其他人将不得不处理您的代码,他们可能不会说波兰语 ;)

关于c# - 如何在 Html.DropDownListFor 上选择显示的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28063846/

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