2008-05-31 от Kosten
При разработке ASP.NET сайтов возникает необходимость программного добавления пользовательских контролов (UserControl) на страницу. Попытка решить проблему “в лоб” через коллекцию Control страницы к нужному результату, как правило не приводит - элемент управления оказывается расположеным не совсем там, где задумывалось.
Возникшая проблема решается достаточно просто. Разместим на ASP.NET странице какой-нибудь контрол-контейнер, на пример, PlaceHolder.
1
| <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> |
Теперь просто добавляем наш контрол в этот PlaceHolder
phMyPlace.Control.Add(myNewControl);
И все! Теперь наш контрол располагается в том где нам нужно.
Рубрика: ASP.NET, C# |
Комментариев нет »
2008-05-21 от Kosten
Очень часто возникает необходимость сохранять данные приложения или пользователей между сеансами работы. Для решения этой задачи применяют ini или xml файлы, сохраняя в них необходимую информацию, а затем извлекая ее из них.
Для приложений работающих под управлением .NET Framework 2.0 такая возможность уже реализована.
В тестовом примере, который можно скачать по ссылке в конце статьи, создано окно с двумя текстовыми полями (txtLogin и txtPassword) и одной кнопкой (ОК). Значения этих тестовых полей мы и будем сохранять между запусками приложения.
Определим поля в которых мы будем хранить наши данные. Для этого кликнем правой кнопкой мыши по значку проекта и выберем пункт меню “Properties”. В появившемся окне передем на вкладку “Settings”. На этой вкладке определим два поля userLogin и userPwd. Зададим им тип String и область видимости User. Сохраним внесенные изменения. При необходимости можно указать значения по умолчанию.
Чтение данных из этих полей происходит следующим образом:
txtLogin.Text = Properties.Settings.Default.userLogin;
txtPwd.Text = Properties.Settings.Default.userPwd;
Сохрание пользовательских данных происходит так:
Properties.Settings.Default.userLogin = txtLogin.Text;
Properties.Settings.Default.userPwd = txtPwd.Text;
Properties.Settings.Default.Save();
Пример приложения можно скачать тут
Рубрика: .NET, Develop |
Комментариев нет »
2008-05-15 от Kosten
Очень часто на программистских форумах я сталкивался с вопросом “как программно получить html страничку (ее код)”?
Решение совсем не сложное
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
| // Create a 'WebRequest' object with the specified url.
WebRequest myWebRequest = WebRequest.Create("http://www.contoso.com");
// Send the 'WebRequest' and wait for response.
WebResponse myWebResponse = myWebRequest.GetResponse();
// Obtain a 'Stream' object associated with the response object.
Stream ReceiveStream = myWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
// Pipe the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader( ReceiveStream, encode );
Console.WriteLine("\nResponse stream received");
Char[] read = new Char[256];
// Read 256 charcters at a time.
int count = readStream.Read( read, 0, 256 );
Console.WriteLine("HTML...\r\n");
while (count > 0)
{
// Dump the 256 characters on a string and display the string onto the console.
String str = new String(read, 0, count);
Console.Write(str);
count = readStream.Read(read, 0, 256);
}
Console.WriteLine("");
// Release the resources of stream object.
readStream.Close();
// Release the resources of response object.
myWebResponse.Close(); |
Приведенный пример легко можно адаптировать под конкретную задачу.
Рубрика: ASP.NET, Develop |
1 комментарий »
2008-05-12 от Kosten
В практике часто требуется найти решение на тот или иной вопрос, но не всегда ответ очевиден. Вот так же случилось у меня. В работе столкнулся с тем что надо принять данные с СОМ порта, ну что же подумал я, плевое дело. Бросил на форму компонент SerialPort и ListBox, в событии serialPort1_DataReceived задал для listBox1 новый итем с данными из СОМ порта, код выглядел так:
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.Open(); //открываем порт
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
listBox1.Items.Add(serialPort1.ReadLine()); //получаем данные
}
Все просто до безобразия, но запустив проект я не увидел никаких данных.
Написал подобный проект на Borland C++ Builder6, там все работало.
После долгих поисков нашел кусок кода для работы с СОМ портом, помоему на www.codeproject.com, который натолкнул на мысль и появилась реализация через
Callback посылку данных с порта на ListBox. Проект программы, позволяющей получать данные из СОМ-порта можно скачать тут.
Автор Pit-Bul
Рубрика: .NET |
Комментариев нет »
2008-05-05 от Kosten
Завершена работа над альфа версией SiteMap Editor. Программа доступна для скачивания на сайте SiteMapEd. Оставляйте Ваши замечания и предложения в комментариях к этому сообщению.
Рубрика: SitemapEditor |
Комментариев нет »