将 SelectListItem getter 修改为 return 修改后的文本值

Modify the SelectListItem getter to return a modified Text Value

我有一个 class,其属性之一是 IEnumerable<SelectListItem>。我正在使用此列表来填充 @Html.DropDownListFor() 下拉列表 - 这是有效的,我在下拉列表中得到了我期望的值。

但是我想修改下拉列表中显示的文本值。

我认为一种方法是修改 Getter 中的值,如下所示:

    public IEnumerable<SelectListItem> ShippingQuotes
    {
        get { return ShippingQuotes; }//SomethingHere to modify the text property of the Select List Items; 

        set { ShippingQuotes = value; }
    }

谁能帮我解决这里的语法问题?

您可以使用 Select() 简单地修改其文本:

public IEnumerable<SelectListItem> ShippingQuotes
{
     get { return shippingQuotes.Select(x => {x.Text = "Some Text" + x.Text; return x;}); } 
     set { ShippingQuotes = value; }
}