C# 更新时将所选项目分配到下拉列表;“多重”;
我有一个HTML.dropdown多选2工作正常。当我保存值时 但是:在更新页面上,我必须在下拉列表中显示预先选择的值 代码如下:C# 更新时将所选项目分配到下拉列表;“多重”;,c#,asp.net-mvc,razor-pages,razorengine,C#,Asp.net Mvc,Razor Pages,Razorengine,我有一个HTML.dropdown多选2工作正常。当我保存值时 但是:在更新页面上,我必须在下拉列表中显示预先选择的值 代码如下: <div class="col-md-6 mb-3" id="categorylist"> <p class="mb-1 font-weight-bold text-muted mt-3 mt-md-0">Category*</p> @Html.DropDownList("pCategory[]", new Selec
<div class="col-md-6 mb-3" id="categorylist">
<p class="mb-1 font-weight-bold text-muted mt-3 mt-md-0">Category*</p>
@Html.DropDownList("pCategory[]", new SelectList(new admin.Models.CategoryModel().getMultipleCategoryBySP(), "cat_id", "cat_name", --placeToProvideSingleIntValue--),
new { @class = " form-control select2-multiple ", @data_toggle = "select2", @multiple = "multiple", @style = "width: 100%;" })
</div>
类别*
@Html.DropDownList(“pCategory[]”,新建选择列表(新建admin.Models.CategoryModel().getMultipleCategoryBySP(),“cat_id”,“cat_名称”,--PlaceToProviderSingleIntValue--),
新的{@class=“form control select2 multiple”、@data\u toggle=“select2”、@multiple=“multiple”、@style=“width:100%;”})
在上面的代码中,有一个占位符--placeToProvideSingleIntValue--,我可以在其中放置它显示为预选的单个整数值
所需的解决方案/帮助:我想向它传递一个数组或以其他方式传递多个值。因此,它将显示多个预先选择的值 您将不得不使用一个而不是一个SelectList。差不多
@Html.DropDownList("pCategory[]", new MultiSelectList(new admin.Models.CategoryModel().getMultipleCategoryBySP(), "cat_id", "cat_name", --placeToProvideMultipleIntValue--),
new { @class = " form-control select2-multiple ", @data_toggle = "select2", @multiple = "multiple", @style = "width: 100%;" })
Razor pages(靠近Blazor thingy:D)是微软目前最新、最现代的框架之一,因此我认为您应该尽可能地使用标记帮助器
你可以看看样品
因此.cshtml页面上的标记组件看起来应该非常简单,如:
<select asp-for="pCategory" asp-items="items" multiple class="form-control select2-multiple" style="width: 100%;" data_toggle = "select2"></select>
和selectedValues
整数数组。
希望有帮助:)
还有一件小事情超出了范围。我觉得这样做不好
new admin.Models.CategoryModel().getMultipleCategoryBySP()
在你的客户端。我认为应该做的正确的事情是只将一个平面对象传递给客户端,并将整个业务逻辑/转换/映射内容保留在后端
干杯你试过这个吗?“我也能帮上忙。”荷花先生,我真是太感谢你了。这解决了我的问题。非常感谢:);)
new admin.Models.CategoryModel().getMultipleCategoryBySP()