Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Alexzzy
Дата сообщения: 11.12.2013 11:11
Zabo4ka
GetElementById("...") возможно не является экземпляром объекта. Либо Document.
Автор: murkovich
Дата сообщения: 11.12.2013 12:04
Zabo4ka
Нельзя сразу после Navigate обращаться к документу, надо дождаться DocumentCompleted.
Автор: Zabo4ka
Дата сообщения: 11.12.2013 16:18
Alexzzy
Тоже поначалу грешил на это дело, но murkovich прав.
Заделал WebBrowserDocumentCompletedEventHandler и всё заработало (хотя Google в строку поиска мой текст так и не принял, ну и черт с ним, не для него надо).

Спасибо.

На случай, если вдруг кому понадобится - в итоге получилось вот так.

Код:
public WebBrowser webBrowser1 = new WebBrowser();

private void button1_Click(object sender, EventArgs e)
{
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
webBrowser1.Navigate("АдресВашегоСайта");
}

private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;

this.Controls.Add(webBrowser1); // this - это форма
webBrowser1.Document.GetElementById("textarea").SetAttribute("value", "100");
webBrowser1.Document.GetElementById("button").InvokeMember("click");
}
Автор: Alexzzy
Дата сообщения: 11.12.2013 21:16
Собственно из этого следует вывод, что для идентификации проблемы нужен в дeбаггере stack с вызовами по "исходникам" фреймвёрка.
Какие есть средства для VS? С .NET редко сталкиваюсь и последний раз довольно давно. Так что интересно.
Автор: YuraseK
Дата сообщения: 15.01.2014 18:06
Есть одна программа, которая написана под .NET 4, которая очень странно себя ведёт при нагрузке на систему. Т.е. когда нет посторонней нагрузки, то сама программа нагружает процессор не более чем на 30%. Если же создать нагрузку тем же WinRAR буквально на 30 секунд тестом быстродействия, то после его отмены программа начинает грузить процессор на 100%. При помощи системного монитора удалось выяснить, что в момент максимальной нагрузки выполняется компиляция по требованию (JIT). При этом компилируется порядка 3000 методов, и размер кода составляет не более 0,5 Мб. Профилировщиком dotTrace удалось выяснить, что начинает сходить с ума сборщик мусора (garbage collector). Из нюансов отмечу, что всё это наблюдается на процессоре Intel Xeon E5-2603. Как можно понять что компилируется по требованию, может ли сборщик мусора некорректно работать?
Автор: mxm1975
Дата сообщения: 17.01.2014 22:24

Цитата:
Как можно понять что компилируется по требованию


А может не нужно определять, а использовать NGEN и компиляцию в Release?
Автор: YuraseK
Дата сообщения: 17.01.2014 22:49

Цитата:
А может не нужно определять, а использовать NGEN и компиляцию в Release?

Программа чужая. Я просто хочу понять существует ли документированный механизм, который мог бы помочь выяснить что компилируется по требованию и можно ли этому воспрепятствовать? Есть подозрения, что в сборщике мусора есть косяк.
Автор: mxm1975
Дата сообщения: 17.01.2014 23:23

Цитата:
компилируется по требованию


Цитата:
можно ли этому воспрепятствовать


таки

Цитата:
использовать NGEN



Автор: Big17
Дата сообщения: 21.01.2014 22:18

Цитата:
Надеюсь, описал, что мне хочется получить. Спасибо заранее.

См. всевозможные Lookup-компоненты, они для этого и предназначены, чтобы вместо идентификатора показывать определенное значение, а в базу писать именно идентификатор.
Автор: moneybro
Дата сообщения: 03.02.2014 14:14
Народ, помогите. Задача вроде должна быть простая, но никак не могу ее победить красиво.
Есть:
1. База на Access
2. Небольшой клиентец на C#, который ходит в базу и добавляет в таблицу строки.

Когда одна из таблиц была без ключевого поля, то вставлять в нее строки было просто. Но появилась необходимость изменения данных в базе через клиента. Данные из базы в клиенте отображаются в dataGridView. Так вот для того чтобы базу можно было править из клиента в таблицу (в одну из таблиц базы) было добавлено ключевое поле типа счетчик.

Проблема состоит в том, что при вставке строки неизвестно значение для вставки в поле счетчика. Можно ли каким-то образом (типа какими-то встроенными функциями выбора или т.п.) узнавать перед вставкой значение максимального элемента в столбце счетчика? Извините за корявость изложения.

Очень не хочется сначала выбирать весь столбик счетчика и искать в нем максимум, потом "вручную" увеличивать его на единичку.
Сначала делать вставку строки с пустыми параметрами, а потом делать update с нужным набором значений тоже странно.

Подскажите пожалуйста как решить мою проблему.

Сейчас команда добавления строки выглядит следующим образом:

string CmdText = ("INSERT INTO ordersBook VALUES (" +
//1 + "," + // счетчик [сейчас закомментировано так как не используется]
orderNumber + "," +
dateTimePicker3.Text + "," +
"'" + comboBox13.Text + "'," + // статус заявки
"'" + fobjname + "'," + // адрес объекта
"'" + textBox2.Text + "'," + // номер квартиры
"'" + textBox1.Text + "'," + // арендатор
"'" + textBox29.Text + "'," + // Клиент/абонент
"'" + opernamef + "'," + // оператор .... и т.д. еще некоторое количество значений.

Нашел:
sql_select = 'select max(AAA) ...

Всем спасибо!
Автор: Alexzzy
Дата сообщения: 03.02.2014 15:29
moneybro
Не то нашёл. Поле типа "счётчик" не надо указывать в Insert-е, оно автоматически наращивается.
Удачи в программировании, она, судя по-написанному - понадобится.
Автор: ForposT_ForeveR
Дата сообщения: 06.02.2014 15:03
Здравствуйте.
Подскажите, пожалуйста, как подключиться к базе данных MsSQL.
Программа, которая использует эту БД содержит следующую строку подключения:

Код: Provider=SQLNCLI11;Data Source=(LocalDb)\v11.0;Integrated Security=SSPI;AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;Database=CS
Автор: BlackVetal
Дата сообщения: 07.02.2014 04:52
ForposT_ForeveR
почитай лучше мануал: http://msdn.microsoft.com/ru-ru/library/System.Data.SqlClient.SqlConnection_properties(v=vs.110).aspx
Автор: ForposT_ForeveR
Дата сообщения: 08.02.2014 20:55
BlackVetal

Спасибо большое за столь дельный совет.
Читал я этот и другие маны. Но не могу написать рабочую строку коннекта.


Код: string connectionString = @"Data Source=.\SQLEXPRESS;
AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;
Integrated Security=SSPI";
Автор: moneybro
Дата сообщения: 09.02.2014 16:03

Цитата:
Alexzzy
Не то нашёл. Поле типа "счётчик" не надо указывать в Insert-е, оно автоматически наращивается.
Удачи в программировании, она, судя по-написанному - понадобится.

Alexzzy, плохо издеваться над начинающими.

Я предполагал, что должно само увеличиваться, но инесерт не проходит:

1. убрал вообще этот параметр - ошибка:Не совпадает число значений запроса и число результирующих полей.

2. попробовал убрать параметр, но оставить для него место
"," + ...
ошибка: ошибка синтаксиса и тд и тп

3. попробовал вставить "пусто" вместо параметра
"''" + ...
2 апострофа в кавычках
ошибка: несоответствие типов данных в выражении условий отбора

как использовать функцию счетчика access из приложения на шарпе? Просьба привести пример, а не только теорию свою высказывать!

Поэтому я и сделал как смог и как проще: нашел максимум встроенным функционалом аксесса и просто прибавил единичку.
Автор: dneprcomp
Дата сообщения: 09.02.2014 18:43
moneybro

Код: INSERT INTO ordersBook (перечислить все поля поименно, кроме "счётчик" )
VALUES ( перечислить все значения в той же последовательности)
Автор: Alexzzy
Дата сообщения: 09.02.2014 20:53
moneybro
Увы, я не издеваюсь, а просто делаю выводы. Методом "тыка" в программировании далеко не уедешь без удачи. Надо было для начала выяснить почему "Не совпадает число значений запроса и число результирующих полей" (достаточно документации на Insert), а не перебирать варианты далее...
Автор: BlackVetal
Дата сообщения: 10.02.2014 05:58
ForposT_ForeveR
Если не ошибаюсь - имя БД надо указать
Автор: ForposT_ForeveR
Дата сообщения: 10.02.2014 09:29
BlackVetal

В 3м варианте ведь есть строчка:

Код: Database=CS;
Автор: BlackVetal
Дата сообщения: 10.02.2014 11:09
ForposT_ForeveR
Блин, студии нет под рукой ...
Вот еще одна штука - попробуй через нее построить строку подключения - есть вот такой класс SqlConnectionStringBuilder. задав некоторые параметры ему - на выходе имеет строку подключения.
Автор: Dmitry
Дата сообщения: 10.02.2014 18:01
ForposT_ForeveR
Самый простой способ - это создать пустой udl-файл. Запустить его (откроется системный диалог редактирования), настроить там все параметры, сохранить. Потом из файла можно скопировать готовую строку подключения.
Автор: DrakonHaSh
Дата сообщения: 10.02.2014 18:42
вопрос по MVC 4 + Entity Framework + Code First

можно ли только при использовании вышеперечисленных технологий (желательно попроще. как например создание controller с view указанием в мастере лишь класса Model и класса DbContext ) создать view в котором будет редактироваться запись таблицы с полем, ссылающимся на другую таблицу в виде DropDownListFor ?
пол дня гугл рыл, так и не нашел

Добавлено:
нашел, нужно заюзать MvcScaffolding
http://blog.stevensanderson.com/2011/01/28/mvcscaffolding-one-to-many-relationships/
Автор: 11exx
Дата сообщения: 12.02.2014 14:16
По теме программирование мне помогла очень статья на этом сайте http://***.ru/catalog/item2002.html который я нашёл в интернете когда искал ответы. Вообщем там описаны "Виды программного обеспечения для управления проектами" также полезные приложения и применения их в практике. Буду рад если помог.
Автор: ForposT_ForeveR
Дата сообщения: 12.02.2014 15:00
Здравствуйте.
Опишу ситуацию.
Программа запускает стороннюю утилиту с какими-то параметрами запуска, для меня неизвестными.
Идея:
Переименовать ехе файл утилиты, написать свой ехе файл, который при запуске выполнит часть кода и затем запустить утилиту, у которой уже другое название ехе файла и передать эти же параметры, которые получила моя программка.

Помогите, пожалуйста, решить проблему, как узнать какие параметры запуска были переданы моей программе?
Автор: Dmitry
Дата сообщения: 12.02.2014 19:13
ForposT_ForeveR
Консольное приложение. Обработка аргументов командной строки .
Обычно это выглядит так:
static int Main (string[] args)
{
...
foreach (string arg in args)
{
... что-то делаем
}
...
}

Автор: Dauren111
Дата сообщения: 01.03.2014 18:11
Всеи привет! Есть вопрос... можно ли при загрузке страницы ASP.NET иметь доступ к файлоой системе... нужно проанализировать текстовый файл и на основе его провести аутентификацию и авторизацию...
Заранее спасибо!
Автор: mxm1975
Дата сообщения: 02.03.2014 03:37

Цитата:
можно ли при загрузке страницы ASP.NET иметь доступ к файлоой системе


можно! Начни отсюда:
http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx


Цитата:
на основе его провести аутентификацию и авторизацию

http://www.asp.net/web-forms
http://www.asp.net/web-forms/overview/security
http://www.asp.net/mvc
http://www.asp.net/mvc/overview/security
Автор: Dauren111
Дата сообщения: 02.03.2014 11:15

Цитата:
можно! Начни отсюда:
http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

я имею ввиду на клиенте
Автор: DrakonHaSh
Дата сообщения: 02.03.2014 13:19
Dauren111
странные у вас запросы
из очевидных соображений безопасности подобное не реализуемо не одним браузером. [хотя, теоретическое можно такое сделать в ie через activex или еще намного намного намного более теоретически на java (просто так точно нельзя)]

короче отказывайтесь от своей идеи она не вписывается в технологию.
Автор: Dauren111
Дата сообщения: 02.03.2014 15:50
А можно тогда так ... сделать кнопку Идентификация и скрытое поле FileUpload... а ява скриптом как-то переопределить путь(везде он одинаковый C:\Sn)... и по нажатию делать аплоуд на сервак и так далее
Реализуемо?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.