如何将IEnumerable转换为javascript数组
我正在从事一个MVC5项目,我有两个数据列表。一个保存文档列表,另一个保存格式信息。我试图实现的是,当我选择其中一个文档时,格式列表将被过滤到适用于该文档的内容。因此,我的想法是将我的@Model.documents存储到一个数组中,以便查找文档id如何将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
<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是否是一种有效的方法。