Должен ли я использовать значение Array или List в классе Strong Type для получения данных сериализованной формы jQuery?

Я создаю веб-службу .Net для получения и обработки сериализованных данных формы из JQuery.form.js, в которой есть несколько множественных выборок, содержащихся в форме.

Сериализованные данные, отправляемые веб-сервису, включают в себя следующее содержимое:

&travelwith=4&travelwith=5&travelwith=6

для поля «путешествие», показывающего, что в поле выбора формы доступен множественный выбор 3 элементов из 10.

Могу ли я построить строго типизированный класс, например, со следующим:

public class StoreUserSet
{
public Array travelwith { get; set; }
public string otherfield { get; set; }
....
}

а затем мой веб-метод принимает объект следующим образом:

StoreUserSet StUserSet = new StoreUserSet(); // Create new class instance.

[WebMethod()]
public bool ProfSet1(StoreUserSet StUserSet)
{
...
}

Будут ли различные значения поля множественного выбора «путешествовать с» автоматически анализироваться в массиве путешествия с класса, чтобы я мог сохранить 3 значения элемента в виде списка, разделенного запятыми, в SQL через LINQ?

Я еще не зашел так далеко... думал, что получу отзыв о моем запланированном подходе.

Спасибо за любой отзыв, Мартин.


person Martin Sansone - MiOEE    schedule 30.07.2012    source источник


Ответы (1)


хорошо, учитывая, что форма JQuery моего сайта KeyLargo содержала как данные формы одиночного выбора, так и множественные выборки, мне нужно было иметь возможность сохраните несколько вариантов выбора в одном поле в Sql.

Я столкнулся с проблемами, пытаясь обработать множественный выбор на сервере, используя тип Array для хранения данных в одном поле Sql со строкой с разделителями-запятыми. Таким образом, я решил свой вопрос выше, чтобы создать строго типизированный класс со строкой [] для захвата сериализованных данных с множественным выбором, переданных через AJAX на сервер:

public class StoreUserSet
{
public string[] travelwith { get; set; }
public string otherfield { get; set; }
....
}

Я использовал удобный метод Рика Страла для обработки данных массива множественного выбора, передаваемых от клиента:

public static string[] FormMultiple(this  NameValue[] formVars, string name)
{
var matches = formVars.Where(nv => string.Equals(nv.name, name,
StringComparison.OrdinalIgnoreCase)).Select(nv => nv.value).ToArray();
return (0 == matches.Length) ? null : matches;
}

Чтобы перебрать значения параметров массива следующим образом:

profile_travelwith = formVars.FormMultiple("profile_travelwith");

Затем объедините значения в массивах с множественным выбором строк [] следующим образом:

profile_travelwith = string.Join(",", StUserSet.profile_travelwith);

Легко позволяет мне сохранять данные в соответствующих полях таблицы профиля.

person Community    schedule 07.08.2012