将未知数量的DropDownLists声明为具有某些样式

时间:2013-01-30 11:44:13

标签: c# asp.net-mvc razor styling

为了奠定一些背景,我有一个内部网站点的部分,用户可以在其中添加技能,但是由于技能的性质,总会添加新的,所以我永远无法知道我将拥有多少技能

我有一个自定义样式,我应用于Html.DropDownLists

<script>

    $(function () {
        $(".response").combobox();
    }); 

</script>

这通常可以正常工作,但由于我试图捕获的数据的性质,我必须用增量数组命名我的DropDownLists。在绘制HTML时它的工作原理如下:

//Declare int answerIndex as 0

//foreach answer in questions ViewBag

@Html.DropDownList("answers[" + answerIndex + "].Response", new SelectList(ViewBag.Responses, "Id", "Name"), "")

//answerIndex++;

//end foreach

我的控制器类上的我的UpdateSkills方法接受变量:

SQEPAnswer[] answers

认为上述必要 - 它接受了答案的所有细节。

然而,最初引用的简单样式选项 - 我无法找到一种可靠地应用它的方法,我想我可以在我的js中声明一个样式选项数组但这会让我的脊椎爬行...

如果有人知道如何将我的样式应用到我的DropDownLists,我会非常感激 - 我是一个足够称职的程序员,但这个编程领域不是我最强的观点。

我在MVC#4上使用Razor标记,欢迎任何问题/评论帮助我到达我想要的地方。

1 个答案:

答案 0 :(得分:0)

我离开它一段时间后最终想出了这个,抱歉问题含糊不清 -

@Html.DropDownList("answers[" + answerIndex + "].Response", new SelectList(ViewBag.Responses, "Id", "Name"), "", new { @class = "response" })

这将样式应用于所有DropDownLists,无论生成了多少。