Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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
如何将IEnumerable转换为javascript数组_Javascript_Asp.net Mvc - Fatal编程技术网

如何将IEnumerable转换为javascript数组

如何将IEnumerable转换为javascript数组,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我正在从事一个MVC5项目,我有两个数据列表。一个保存文档列表,另一个保存格式信息。我试图实现的是,当我选择其中一个文档时,格式列表将被过滤到适用于该文档的内容。因此,我的想法是将我的@Model.documents存储到一个数组中,以便查找文档id <input list="doc" id="document" /> <datalist id="doc" name="Doc" placeholder="Please select a

我正在从事一个MVC5项目,我有两个数据列表。一个保存文档列表,另一个保存格式信息。我试图实现的是,当我选择其中一个文档时,格式列表将被过滤到适用于该文档的内容。因此,我的想法是将我的@Model.documents存储到一个数组中,以便查找文档id

 <input list="doc" id="document" />
                    <datalist id="doc" name="Doc" placeholder="Please select a document type">
                        @foreach (var item in Model.docType)
                        {
                            <option id="@item.DocumentTypeID" value="@item.DocumentTypeName"></option>
                        }
                    </datalist>

<input list="tribute" />
                    <datalist id="format">
                        @foreach (var item in Model.format)
                        {
                            <option value="@item.formatName"></option>
                        }
                    </datalist>

$(document).ready(function () {
        $('#document').change(function () {
            var x = $("#doc option[value='" + $('#document').val() + "']").attr('id');

            var trib = [];

            @foreach (var d in Model.documents)
            {
                @:trib.push("@d");
            }
            console.log(trib);
        });
    });

但是,这只是将其作为Model.documents放入数组中,我认为这是因为它有多个列。感谢您的帮助,谢谢

将您的C列表转换为js数组,并在更改事件中使用它:

var jsArray = @Html.Raw(Json.Encode(Model.documents));

将C对象服务器端传递到JS阵列客户端。您将得到的只是数组中的类型名称


查看是否可以将文档类型添加为格式类型选项的类名。因此,基于文档选择,您可以仅使用相应的文档类型类过滤格式选项。您可以使用javascript进行过滤,您可能希望看到序列化为JSON。JavaScript可以读取它。@我在考虑这个问题,但是我们的服务器能够使用for json命令,我不确定使用C将其从当前格式转换为json是否是一种有效的方法。