Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Sierra
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 39
1

Ошибки при переносе Windows Forms приложения в веб

30.12.2017, 16:22. Просмотров 247. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток друзья! Я переписываю свое приложение с WinForms на ASP.NET и столкнулся с непредсказуемой проблемой.
Не найду ошибку в коде.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExcelDataReader;
using System.Data;
using System.Net.Mail;
using System.Net;
using System.Collections;
using System.Globalization;
using System.Windows.Forms;
 
namespace MyWeb_Application
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        public string filePath;
        public Stream поток;
        public int count = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
 
        ArrayList[] tmp;
        protected void Button1_Click1(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            //Задаем расширение имени файла по умолчанию.
            ofd.DefaultExt = "*.xls";
            //Задаем строку фильтра имен файлов, которая определяет
            //варианты, доступные в поле "Файлы типа" диалогового
            //окна.
            ofd.Filter = "Excel Sheet(*.xlsx)|";
            //Задаем заголовок диалогового окна.
            string path = "";
            ofd.Title = "Выберите документ для загрузки данных";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                path = ofd.FileName;
            }
            try
            {
                ArrayList[] arrRes = CommonMethods.loadBillAndCheckFromXLS(filePath);
 
                int[] columns = CommonMethods.getValidColumnNames(arrRes);
                tmp = CommonMethods.copyArray<ArrayList>(arrRes, 0);
                arrRes = CommonMethods.copyArray<ArrayList>(arrRes, 1);
                //listBox2.Items.Clear();
 
 
                dt1.Rows.Add(arrRes.Length);
                
 
                for (int i = 0; i < arrRes.Length; i++)
                {
 
                    for (int j = 0; j < columns.Length; j++)
                    {
                        if (columns[j] != -1)
                        {
                            if (j == 4 || j == 5)
                            {
                                //dt1.Rows[i].Cells[j].Value = CommonMethods.convertPrices(arrRes[i][columns[j]].ToString());
                            }
                            else
                            {
                                dt1.Rows[i].Cells[j].Value = arrRes[i][columns[j]].ToString();
                            }
                        }
                    }
                }
 
                for (int i = 0; i < tmp[0].Count; i++)
                {
                    int flag = 0;
                    for (int j = 0; j < dt1.Columns.Count; j++)
                    {
                      
                        if (tmp[0][i].ToString() == dt1.Columns[j].HeaderText)
                        {
                            flag = 1;
                        }
                    }
 
                    for (int j = 0; j < columns.Length; j++)
                    {
                        if (columns[j] != -1)
                        {
                            if (tmp[0][i].ToString() == tmp[0][columns[j]].ToString())
                            {
                                flag = 1;
                            }
                        }
 
                    }
 
                    if (flag == 0)
                    {
                        //listBox2.Items.Add(tmp[0][i]);
                    }
 
                }
            }
            catch
            {
 
            }
 
        }
    }
    }
Ругается на строку dt1.Rows.Add(arrRes.Length); //а именно на Add. GridViewRowCollection не содержит определения для Add.
И на строку dt1.Rows[i].Cells[j].Value = arrRes[i][columns[j]].ToString(); //TableCell не содержит определения для Value.

Все необходимые пространства имен подключил.
Имеется также класс, в который я вынес кучу методов но там эти строки работают а тут нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2017, 16:22
Ответы с готовыми решениями:

Ошибка Socket Permission при переносе приложения с Win7 на WinXP
Доброго времени суток. Пишу клиент-серверное приложение с использованием...

Как вызвать диалоговое окно Windows Forms с веб-страницы?
Есть веб-приложение. Есть страница его настройки. При нажатии одной из кнопок...

Можно ли Windows Forms использовать Java-приложения
подскажите пожалуйста, можно ли использовать приложение с расширением *.jar в...

Код для Windows Forms не работает в Web Forms?
В том году я делал лабораторки по Winforms. Естественно, они все у меня...

Проблемы с конструкцией async\await при использовании WPF или Windows Forms
Добрый день! Написал библиотечку, использующую, в том числе конструкции...

9
insite2012
Модератор
Эксперт .NET
4858 / 3813 / 1094
Регистрация: 12.10.2013
Сообщений: 11,096
Записей в блоге: 2
30.12.2017, 16:45 2
Цитата Сообщение от Sierra Посмотреть сообщение
Ругается на строку dt1.Rows.Add(arrRes.Length);
Тип переменной dt1?
0
Sierra
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 39
30.12.2017, 17:09  [ТС] 3
insite2012, dt1 это не переменная это название GridView.
0
sau
1979 / 1590 / 259
Регистрация: 22.07.2011
Сообщений: 5,989
Завершенные тесты: 1
30.12.2017, 20:26 4
OpenFileDialog ofd = new OpenFileDialog();
Вы случаем c WinForms не попутали ? , с чего бы вдруг подобный код , как и прочее , будет работать под веб ?
0
Sierra
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 39
30.12.2017, 20:27  [ТС] 5
sau, он работает) Ошибка в другом.

Добавлено через 30 секунд
System.Windows.Forms я подключил в ASP. Так можно.
0
sau
1979 / 1590 / 259
Регистрация: 22.07.2011
Сообщений: 5,989
Завершенные тесты: 1
30.12.2017, 20:31 6
Он совершенно не имеет смысла , потому и ошибку даже искать не нужно.
И естественно , GridView в вебе имеет другую реализацию , совпадение лишь в наименовании.
0
Sierra
0 / 0 / 0
Регистрация: 23.08.2017
Сообщений: 39
30.12.2017, 20:37  [ТС] 7
sau, тогда как подобный код будет выглядеть в вебе? Я понятия не имею я уже пробовал его переписать но безуспешно.

Добавлено через 53 секунды
Особенно как в вебе выглядит?
OpenFileDialog ofd = new OpenFileDialog();
0
FateOri
146 / 145 / 39
Регистрация: 06.01.2017
Сообщений: 1,939
Завершенные тесты: 2
30.12.2017, 20:39 8
Цитата Сообщение от Sierra Посмотреть сообщение
Особенно как в вебе выглядит?
https://stackoverflow.com/questions/4950948/openfiledialog-in-asp-net

Не по теме:

Цитата Сообщение от Sierra Посмотреть сообщение
sau, он работает) Ошибка в другом.
вы бы прежде чем спорить посмотрели на репутацию отвечающих))

0
sau
1979 / 1590 / 259
Регистрация: 22.07.2011
Сообщений: 5,989
Завершенные тесты: 1
30.12.2017, 20:39 9
Цитата Сообщение от Sierra Посмотреть сообщение
Особенно как в вебе выглядит?
В декларативной части прописываете html <input type="file"/> или <asp:FileUpload runat="server"/>
0
XIST
1079 / 803 / 113
Регистрация: 01.10.2009
Сообщений: 2,457
Записей в блоге: 1
31.12.2017, 10:42 10
Цитата Сообщение от Sierra Посмотреть сообщение
sau, он работает) Ошибка в другом.
работать он будет только на локальной машине разработчика в дебуге
0
31.12.2017, 10:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2017, 10:42

Нужно написать веб приложения на С#, которые ищут веб страницы содержащие ключевое слово
Нужно написать веб приложения на С#, которые ищут веб страницы содержащие...

Разворачивание приложения asp.net web forms на локальном сервере IIS
Здравствуйте у меня такой вопрос, есть проект asp.net web forms, в котором...

Преобразовать дату при переносе из одной БД в другую
Я беру дату из одной базы Accessa асп-шной функцией, работаю с ней(вывожу на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru