C# MVC5 DropdlwonList:设置单个列的长度

C# MVC5 DropdlwonList:设置单个列的长度,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我有一个下拉列表,其中填充了两个字段。旧的项目ID和项目描述。用户需要在下拉列表中看到这两个字段 问题是这太乱了。最初,它将两个字段相邻放置,没有任何间距。它看起来很凌乱,对眼睛很难看。从下面的代码中可以看到,我添加了一些空格。这就好多了 现在的问题是它没有对齐,因为每个旧的\u ItemID的长度不同,并且根据旧的\u ItemID的字符数,它将itemsdescription向左或向右推。所以它看起来很杂乱无章 有没有办法在选项卡设置中对齐这些列,或者以某种方式使对齐正确 控制器代码 Lis

我有一个下拉列表,其中填充了两个字段。旧的项目ID和项目描述。用户需要在下拉列表中看到这两个字段

问题是这太乱了。最初,它将两个字段相邻放置,没有任何间距。它看起来很凌乱,对眼睛很难看。从下面的代码中可以看到,我添加了一些空格。这就好多了

现在的问题是它没有对齐,因为每个旧的\u ItemID的长度不同,并且根据旧的\u ItemID的字符数,它将itemsdescription向左或向右推。所以它看起来很杂乱无章

有没有办法在选项卡设置中对齐这些列,或者以某种方式使对齐正确

控制器代码

List<SelectListItem> SuppliesList = db.ICS_Supplies.Where(s => s.InvType == "G").Select(x => new SelectListItem { Value = x.Supplies_ID.ToString(), Text = x.Old_ItemID + "\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0" + "  |  " + "  " + " Description:  " + x.ItemDescription, Selected = false }).DistinctBy(p => p.Text).OrderBy(p => p.Text).ToList();

ViewBag.SuppliesList = new SelectList(SuppliesList, "Value", "Text");
List-SuppliesList=db.ICS\u-Supplies.Where(s=>s.InvType==“G”).Select(x=>new-SelectListItem{Value=x.Supplies\u-ID.ToString(),Text=x.Old\u-ItemID+“\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0”+“+”+“+”+”+“+”+”+“+”+”+“+”+”+“+””+””说明:“+x.ItemDescription,Selected=false}).DistinctBy(p=>p.Text).OrderBy(p=>p=>p.Text).ToList();
ViewBag.SuppliesList=新的选择列表(SuppliesList,“值”、“文本”);
视图代码

<div class="form-group">

    @Html.Label("Supplies Requested:", new { @class = "form-control" })

    @Html.DropDownList("SuppliesList", null, "Select", new { @class = "form-control", @onchange = "supplychange()" })

</div>

@Label(“请求的供应品:”,new{@class=“form control”})
@DropDownList(“SuppliesList”,null,“Select”,new{@class=“form control”,@onchange=“supplychange()”})

注意:在问这个问题之前,我做了一些研究,从中我发现了如何添加空格。但我似乎找不到一个资源来展示如何与适当的间距对齐,使其看起来专业而不马虎。应该是一个常见的请求,我想?

一般来说,人们不会将ID放入下拉文本中,所以可能不是那么常见。或者他们很幸运,而且长度一致(例如机场代码或其他)。解决方法是向下查看列表,看看哪个ID最长,然后根据每个项比最长项短多少来添加填充。或者你可以使用一个JS库来模拟select,并使用其他功能来增强它,例如更好的演示,例如,
select2
或类似的功能-有一些不同的可用功能。你可以使用引导宽度类吗?@pensum-谢谢你的回答。我确实在网上看到了一些关于引导和实现我想要的方法的东西。但这些代码的数量也超过了你所能掌握的。要使下拉框正确对齐,似乎需要做很多工作。我来自旧的asp.net表单。这在当时很容易。实际上,它会自动标记多个字段。我不明白为什么这么小的东西就需要这么大的代码项目?一般来说,人们不会把ID放在下拉文本中,所以可能这并不常见。或者他们很幸运,而且长度一致(例如机场代码或其他)。解决方法是向下查看列表,看看哪个ID最长,然后根据每个项比最长项短多少来添加填充。或者你可以使用一个JS库来模拟select,并使用其他功能来增强它,例如更好的演示,例如,
select2
或类似的功能-有一些不同的可用功能。你可以使用引导宽度类吗?@pensum-谢谢你的回答。我确实在网上看到了一些关于引导和实现我想要的方法的东西。但这些代码的数量也超过了你所能掌握的。要使下拉框正确对齐,似乎需要做很多工作。我来自旧的asp.net表单。这在当时很容易。实际上,它会自动标记多个字段。我不明白为什么这么小的东西需要这么大的代码项目?