C# Select2:设置下拉项列表的默认值,数据以razor语法从C模型获得

C# Select2:设置下拉项列表的默认值,数据以razor语法从C模型获得,c#,jquery,asp.net-core,razor,jquery-select2,C#,Jquery,Asp.net Core,Razor,Jquery Select2,我有一个select2下拉列表,我想为列表项选择默认值。当我使用硬代码值来设置下拉列表的默认值时,效果很好 $'PlatFormTitle'.val['1','2','3'] 但是我想根据从模型中获得的数据来选择值。 这是我正在尝试的代码,请有人指出我在这里做错了什么 var PlateForms = []; var x; @foreach(var PlateForm in Model.UserPlateFormList) { @:x = '@P

我有一个select2下拉列表,我想为列表项选择默认值。当我使用硬代码值来设置下拉列表的默认值时,效果很好 $'PlatFormTitle'.val['1','2','3']

但是我想根据从模型中获得的数据来选择值。 这是我正在尝试的代码,请有人指出我在这里做错了什么

    var PlateForms = [];

    var x;
    @foreach(var PlateForm in Model.UserPlateFormList)
    {
        @:x = '@PlateForm';
        @:PlateForms.push(x);
    } 
    $('#PlatFormTitle').val(PlateForms);
    $('#PlatFormTitle').trigger('change');
我也试过这个

$('#PlatFormTitle').val(JSON.stringify(PlateForms));
$('#PlatFormTitle').trigger('change');

我使用您的代码进行测试,它可以工作,下面是演示:

型号:

public class Model1 {
        public List<int> UserPlateFormList { get; set; }
    }
控制器:

public IActionResult Index()
        {
            Model1 m = new Model1 { UserPlateFormList = new List<int> { 1, 2, 3 } };
            return View(m);
        }
视图:

js:

结果:


您能否添加一个工作代码段,显示它如何使用硬编码值?包含使select2工作的代码。然后查看呈现的html,而不是剃刀,看看有什么区别。因为select2是一个js组件。我也在做同样的事情,但它对我不起作用。如果你使用我的css和js,它能起作用吗?你的UserPlatformList列表呢?非常感谢。这对我有用。我接受你的回答。如果你觉得我的问题是正确的,请投我一票。
<select id="PlatFormTitle" class="js-example-basic-multiple" multiple="multiple" style="width:200px">
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    <option value='4'>4</option>
    <option value='5'>5</option>
    <option value='6'>6</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" />
 <script>
        $(function () {
            $('.js-example-basic-multiple').select2();
            var PlateForms = [];
            var x;
            @foreach (var PlateForm in Model.UserPlateFormList)
            {
                @:x = '@PlateForm';
                @:PlateForms.push(x);
            }
                $('#PlatFormTitle').val(PlateForms);
                $('#PlatFormTitle').trigger('change');
        });
</script>