Добавление множественного списка объекта, затем просмотрите их в datagridview, и все строки gridview будут переданы в объект массива веб-метода?

#c# #list #web-services #datagridview

#c# #Список #веб-сервисы #datagridview

Вопрос:

Я пытаюсь разрешить пользователю передавать несколько документов в веб-методы веб-службы. Я могу передать один документ, но я не знаю лучшего способа передать более одного документа.

  1. Пользователь может легко ввести один документ с его деталями.
  2. Я создал один и тот же объект со списком, чтобы позволить пользователю передавать неограниченное количество документов
  3. Я могу создать больше, чем object для нескольких документов, но я предпочитаю создавать его динамически, а не ограничивать его определенным количеством документов
  4. Детали документа будут просмотрены в gridview, но когда я передаю переменную object в объект array веб-метода, он показывает, что «не может неявно преобразовать тип списка в object.
 //Object of the document in the web service
Document doc = new Document();
doc.DocCode = docCode.Text;
doc.DocName = docname.Text;
doc.DocLocation= docloc.Text;

//the above doc object will be passed to array of document in web service
service.Documents = new Document[]
{
doc
};

//Another tried Way but i want the user to pass multiple details of document at the same time
List<Document> docs = new List<Document>();
docs.Add(New Document()  {DocCode=docCode.Text, DocName = docname.Text, DocLocation = docloc.Text});

//To enable the user to check the details entered before passing to the web method
gridview1.DataSource = docs;
gridview.DataBind();

foreach (DataGridItem row in gridview1.Rows)
{
    docs.ToArray();
}
//Showing an error than cant implicitly convert from list type to Document
service.Documents = new Document[]
{
docs
};
  

Детали документа будут введены пользователем с помощью текстовых полей и будут просмотрены в gridview. Затем все строки gridveiws будут переданы в объект array документа.

Ответ №1:

Я понимаю, что вы хотите ввести массив документов в эксплуатацию.Документы. Вы получили сообщение об ошибке, потому что вы можете поместить туда элементы, подобные этому:

 service.Documents = new Document[]
{
    doc, doc
};
  

Но вы не можете поместить туда объект array.
Попробуйте что-то вроде этого:

 service.Documents = docs.ToArray();
  

Комментарии:

1. Я не хочу создавать много объектов, подобных этому: ` service. Documents = new Document [] { doc1, doc2, doc3}; ` Я хочу использовать службу list list, подобную следующей `. Documents = новый документ [] { docs}; ` но я получаю сообщение об ошибке, что вы не можете неявно преобразовать тип list в object