Самый простой способ проанализировать список в указанном выше формате - просто использовать string.Split(...)
.
Идеальный способ обработки списков и объектов из JavaScript на сервере - это использование JSON. Это стандартизировано и интуитивно понятно большинству разработчиков. Он имеет дополнительный бонус, заключающийся в простоте анализа в ASP.NET с помощью общего API.
В приведенном ниже примере я предполагаю, что значение списка буквально равно "[123,13332,232323]
" (без кавычек). Это преобразует значение в строковый массив. Он использует JavaScriptSerializer
класс для анализа JSON. Этот класс требует, чтобы ваш проект имел ссылку на DLL System.Web.Extensions
, которая является частью .NET 3.5 framework, но не всегда включается по умолчанию в проекты.
using System.Web.Script.Serialization;
[...]
if (Request.Form.HasKeys())
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
foreach (var key in Request.Form.AllKeys)
{
var value = Request.Form[key];
var list = serializer.Deserialize<string[]>(value);
}
}
Я также только что проверил это с другими типами (кроме string[]
), и метод Deserialize<T>()
также преобразует объекты в int[]
, List<string>
и List<int>
, так что это очень динамично не требует больших усилий для разбора.