2009-05-22 81 views
1

如何在ASP.NET MVC中创建可处理空值的下拉列表?在asp.net MVC下拉列表中处理空值

应用程序是数据库中的查找字段,其中主键位于查找表中,即类别,而外键位于另一个表中,即CategoryID,但CategoryID是可选的(即,它可以包含空值)。

我会想象在用户的网页生成的标记会是这个样子:

<select id="foo"> 
    <option value="">(Not Specified)</option> 
    <option value="1">Alpha</option> 
    <option value="2">Bravo</option> 
    <option value="3">Charlie</option> 
</select> 

我可以做这样的事情,而无需编写自定义的HtmlHelper?当保存时间的时候,它会与底层模型正确绑定吗?

回答

2

你不需要写一个帮手。它已经存在。使用其中一个采用optionLabel参数的Html.Select重载。将其设置为“(未指定)”。

+1

太简单了。 :) 我想我没有理解intellisense ......它说:“如果它不为空,提供默认空值选项的文本。”如果我对标记没有很好的理解,那对我来说毫无意义,尽管如果是这样的话,我可能不应该在MVC沙箱中玩。另外,“如果不是空”这个短语似乎倒退了。 无论如何,感谢您的帮助。有时候需要问一下。 – 2009-05-22 17:24:40

1

另外,无论你绑定到哪个字段都必须是可空的 - 在这种情况下,可以是字符串,也可以是可空的int。