Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在从ViewBag内容选择2中添加和预选值_Asp.net Mvc_Jquery Select2 - Fatal编程技术网

Asp.net mvc 在从ViewBag内容选择2中添加和预选值

Asp.net mvc 在从ViewBag内容选择2中添加和预选值,asp.net-mvc,jquery-select2,Asp.net Mvc,Jquery Select2,我正在解析推文,希望捕获任何标签。我使用Select2在数据库中维护一个Hashtags列表。如果我正在解析的Tweet的hashtag不在我们的DB中,我想将它们添加到Select2列表中并高亮显示(使用Tgas选项)。当表单提交时,它们将被添加到数据库中,并在下次出现在Tweet中时识别它们,并在Select2控件中预选 我认为下面的代码将从Tweet解析的hashtag添加到Select2并高亮显示,但是当我第二次针对同一Tweet进行测试时,它只添加了2个新的hashtag,并高亮显示,

我正在解析推文,希望捕获任何标签。我使用Select2在数据库中维护一个Hashtags列表。如果我正在解析的Tweet的hashtag不在我们的DB中,我想将它们添加到Select2列表中并高亮显示(使用Tgas选项)。当表单提交时,它们将被添加到数据库中,并在下次出现在Tweet中时识别它们,并在Select2控件中预选

认为下面的代码将从Tweet解析的hashtag添加到Select2并高亮显示,但是当我第二次针对同一Tweet进行测试时,它只添加了2个新的hashtag,并高亮显示,而不是第一次测试中高亮显示的hashtag

我希望这是清楚的。见附图

我的剃刀

string PreSelectedTags = string.Empty;
if (ViewBag.Tags != null)
{
    string[] values = ViewBag.Tags.Split(',');
    PreSelectedTags = "[" + string.Join(", ", values.Select(s => $"'{s.Trim()}'")).Replace("#","") + "]";
}
我的JS

@if(!string.IsNullOrEmpty(预选标记))
{
var tags=@Html.Raw(预选标记);
如果(tags.length>0){
$('#TagIds')。选择2({multiple:true,tags:true,data:tags});
$('#TagIds').val(标记);
$('#tagid')。触发器('change');
}
}

@if (!string.IsNullOrEmpty(PreSelectedTags))
{
    <text>

    var tags = @Html.Raw(PreSelectedTags);

    if (tags.length > 0) {
        $('#TagIds').select2({ multiple: true, tags: true, data: tags });
        $('#TagIds').val(tags);
        $('#TagIds').trigger('change');
    }

    </text>
}