有没有一个伟大的图书馆为失踪的MVC 3 html表单字段助手?

时间:2011-06-07 11:48:41

标签: c# asp.net-mvc-3 html-helper

我正在使用ASP.net MVC 3构建一个应用程序,我想知道是否有人知道一个很棒的库 填补内置html表单字段助手的空白?

E.g。创建文本框很简单:

@Html.EditorFor(model => model.TextboxTest)

但是为了创建一个下拉列表,我必须写:

@Html.DropDownListFor(model => model.DropdownTest, Model.DropdownTestData)

它应该写成

@Html.EditorFor(model => model.DropdownTest) 

其中DropdownTest是SelectList。

有一个示例解决方案,可以找到here


同样是radiobuttons列表:它不包含在MVC中(目前)。还有一个很好的解决方案可以找到here,通过这个解决方案,我可以写

@Html.RadioButtonListFor(model=>model.Item,Model.ItemList)

所以解决方案可用,但没有结构化在库中(分别我找不到)并且我不想将这些解决方案复制并粘贴在一起一块一块(因为我不能用NuGet轻松更新它),整个库会更好但我找不到。

请帮助:)

2 个答案:

答案 0 :(得分:2)

如果您想使用这些解决方案并将它们放入您自己的库中,请从各个位置获取这些解决方案。如果您想使用NuGet来管理您的库,您可以创建自己的NuGet存储库来保存该库。你可以让你的NuGet包依赖于MVC库,所以你需要下载的是你的包,它将包括MVC3。

答案 1 :(得分:1)

虽然他们的用户体验非常不同,但下拉列表和单选按钮列表之间没有功能差异。两者都是“从选项列表中选择一个”控件。通用的EditorFor()如何在任何给定的场景中知道你想要的是什么?充其量,你必须有像

这样的东西
    @Html.EditorFor(model => model.DropdownTest, model.DropDownTestData, ListType.DropDownList)

并不比

    @Html.DropDownListFor(model => model.DropdownTest, Model.DropdownTestData)

要考虑的另一个问题是它如何区分编辑下拉列表/单选按钮列表所代表的选项,以及编辑列表本身。使用文本框,显然如果要编辑它,您想要编辑其内容,但是有一个选项列表,这几乎不是一定的。考虑多选测试应用程序的学生和教师之间的UI差异。教师想要创建多项选择答案的列表,并且学生想要选择其中一个结果,但两者的数据都是问题/答案对列表的形式。

简而言之,我认为任何提供此功能的库与当前方法一样复杂(如果不是更多)。