Нет, вы не можете. По нескольким причинам.
1) IEnumerable отсутствует в JavaScript, поскольку вы используете его в .NET. Есть нечто подобное, но оно реализовано совершенно по-другому. В .NET IEnumerable просто означает, что класс предоставляет метод GetEnumerator (), который возвращает IEnumerator (который сам по себе содержит только методы Current, MoveNExt и Reset). В JavaScript, когда вы делаете итерацию для элемента, вы перебираете имена его свойств.
var myObj = { 'a' = 1, 'b' = 2 };
for (var name in myObj) { alert(name); } // will alert 'a', and 'b'
Даже при работе с массивами JavaScript вышеприведенный цикл возвращает индекс элемента массива, а не фактический член с этим индексом.
2) Делая String.Format () в вашем списке, вы бы не передавали этот список как объект вашему JavaScript, а только как результат ToString () вашего списка. Который, вероятно, просто возвращает "System.Collections.Generic.List`1 [System.String]"
3) Если ваша среда разработки явно не разрешает это, вы можете предположить, что передача аргументов из одного языка в другой не будет работать. Так же, как вы не можете писать JavaScript внутри своего кода .NET, вы не можете писать код .NET в своем JavaScript. Эти языки имеют разные наборы функций, разный синтаксис и выполняются с совершенно разными механизмами - .NET компилируется, и JavaScript (как правило, говорящий) интерпретируется ( Скомпилированные против интерпретируемых языков ).
Что вам нужно сделать, это преобразовать ваши данные в формат, который может быть использован JavaScript. Скорее всего, это означает преобразование его в нечто, называемое JSON . Вы не предоставили много подробностей о том, что именно представляет собой Model.NewList или что ваш testMethod () ожидает в качестве аргумента. Но для примера давайте предположим, что NewList - это список строк. В этом случае ваш JSON будет выглядеть примерно так:
{ 'NewList' : ['string1', 'string2', 'string3'] }
Самый простой способ конвертировать ваши данные .NET в JSON - это использовать встроенные библиотеки, такие как JavaScriptSerializer:
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = serializer.Serialize(Mdoel.NewList);