我正在使用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轻松更新它),整个库会更好但我找不到。
请帮助:)
答案 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差异。教师想要创建多项选择答案的列表,并且学生想要选择其中一个结果,但两者的数据都是问题/答案对列表的形式。
简而言之,我认为任何提供此功能的库与当前方法一样复杂(如果不是更多)。