MVC ListBoxFor中的自定义值

时间:2013-11-06 09:14:04

标签: c# asp.net asp.net-mvc asp.net-mvc-4 listbox

我想要在MVC Web应用程序的页面中的ListBox中显示的项目列表(准确地说是MVC 4)。在this article的带领下,我轻松制作了ListBox。

但是,现在我需要使用自定义值作为我的“价值”成员(抱歉为双关语)。让我们说而不是

Html.ListBoxFor(model => model.AvailableSelected, 
    new MultiSelectList(Model.AvailableProducts, "Id", 
    "Name", Model.AvailableSelected), 
    new { size = "6" })

我需要(代码组成,不工作)

Html.ListBoxFor(model => model.AvailableSelected, 
    new MultiSelectList(Model.AvailableProducts, "Id + CategoryId", 
    "Name", Model.AvailableSelected), 
    new { size = "6" })

换句话说,我需要根据其他字段或变量构建值。我知道一个解决方案是在项目类中实际添加这个“假”字段,但我觉得这很难看,我认为这是不好的做法(仅针对特定的准呈现需求实现一个字段)。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我找到了。答案就在这里,但在发布之前我找不到它。对于那个很抱歉。

请参阅此主题:Can I customise my data text field in an MVC SelectList for use with the HtmlHelper.DropDownList without having to create a new struct or class?

我建议使用@ uvita的答案,即使它目前没有被标记为已接受的答案。